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

Ruby:ネイティブPGgemのパラメーターを動的に置き換える方法

    プレースホルダー(例:$1$2 、...)は値用です。データベース名(またはテーブル名、列名、...)は識別子です。これは、変数名と変数がRubyで保持する値の違いに似ています。

    SQLに識別子を動的に挿入する必要がある場合は、文字列補間と特別な目的を使用する必要があります quote_ident あなたがそれを正しく引用することを確認する方法。つまり、次のようなものです:

    db_name = conn.quote_ident(db_name)
    res     = conn.exec("CREATE DATABASE #{db_name}")
    



    1. SQLServer2008およびSQLServer2008R2を実行しているユーザーへの注意

    2. 回避策:クラスター化された列ストアインデックスを持つテーブルではカーソルはサポートされていません

    3. アクセス拒否;この操作にはSUPER特権(少なくとも1つ)が必要です

    4. 解析エラー:構文エラー、予期しない'mysql_query'(T_STRING)in