sql >> データベース >  >> RDS >> PostgreSQL

Postgresで文字列をどのように引用しますか

    コメントで述べたように、ほとんどのデータベースは文字列リテラルに一重引用符を使用し、識別子に二重引用符を使用します。 MySQLはかなり緩く、文字列リテラルの二重引用符も受け入れますが、PostgreSQLは(ありがたいことに)非常に厳密です。したがって、一重引用符を使用する必要があります:

    SnCl.all(:conditions => "col3 = 'xx'")
    

    またはwhereを使用する :

    SnCl.where("col3 = 'xx'")
    

    または、データベースドライバの見積もり機能を適切に使用する場合:

    SnCl.where("col3 = #{SnCol.connection.quote('xx')}")
    

    そして最後に最善を尽くして、賢明な人々がwhereへのプレースホルダーまたはハッシュ引数を使用してそれを行う方法 :

    SnCl.where('col3 = ?', 'xx')
    SnCl.where('col3 = :col3', :col3 => 'xx')
    SnCl.where(:col3 => 'xx')
    

    最後の1つは、Railsにとって最も慣用的なものであり、上記の2つは、チェーンが煩雑すぎるか機能しない(WHERE句にORが必要な場合など)、より複雑な条件で役立ちます。

    >

    1. PHPでPDOを使用してストアドプロシージャを作成する

    2. レコードがデータベースにすでに存在するかどうかを確認します

    3. Oracleへの接続が実行されると、セキュリティパッケージで使用できるクレデンシャルがありません

    4. 重複エントリのクリーンアップ更新