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

プリペアドステートメント(PostgreSQL)でDDLコマンドを使用できますか?

    試しましたか?

    サーバーではサポートされていないため、クライアント側のJDBCドライバーで機能しているように見えても、お勧めしません。

    regress=> PREPARE CREATE TABLE test ( id serial primary key );
    ERROR:  syntax error at or near "CREATE"
    LINE 1: PREPARE CREATE TABLE test ( id serial primary key );
                    ^
    

    パラメータ化できないため、とにかくそうすることに利点はありません。 それらなので、書くことはできません:

    CREATE TABLE ? ( ? text, ...)
    

    次に、プレースホルダー値をStatementへのクエリパラメーターとして指定します。 。

    PostgreSQLでは計画済みのみ ステートメントは、サーバー側で準備およびパラメーター化できます。現在、それはINSERTを意味します 、UPDATEDELETE およびSELECT

    PostgreSQLの字句構造のルール -これはほとんどSQL仕様のものです。すべての識別子を"double quotes"で囲みます リテラルの二重引用符を2倍にします。例:"these are literal ""double quotes""" テーブル名のthese are literal "double quotes"

    これを実行したいという事実は、おそらくスキーマに設計上の問題があり、物事をどのように進めているかを再考する必要があるかもしれないことを示唆しています。たぶん、これで何を達成したいのか、そしてその理由を説明するより詳細な質問をdba.stackexchange.comに投稿してください。



    1. ペルシア語\アラビア語のテキストをmysqlデータベースに保存する

    2. コレクション型oracle12cから表に挿入-ORA-00902:無効なデータ型

    3. SQLサーバーで日付をフロアする

    4. SQLServerDBスキーマをMySQLに移植する最良の方法