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

PostgreSQLのユーザー定義変数

    Postgresは通常、プレーンSQLで変数を使用しません。しかし、あなたはできます それも行います:

    SET foo.test = 'SELECT bar FROM baz';
    
    SELECT current_setting('foo.test');
    

    マニュアルのカスタマイズされたオプションについてお読みください。

    PostgreSQL 9.1以前では、custom_variable_classesを宣言する必要がありました それを使用する前に。

    ただし、できません EXECUTE PL(手続き型言語)を使用しない動的SQL。 DOを使用します アドホックステートメントを実行するためのコマンド(ただし、そこからデータを返すことはできません)。または、CREATE FUNCTIONを使用します 動的SQLを実行する(そして考えられるあらゆる方法でデータを返すことができる)関数を作成します。

    動的SQLを使用する場合は、SQLインジェクションから保護するようにしてください。

    関連:

    • PostgreSQLクエリで名前付き定数を定義する方法はありますか?



    1. 並列統計再構築のサポートの改善

    2. 親テーブルと子テーブルからの行の削除

    3. ClusterControlを使用したSpiderでのMariaDBシャーディングのデプロイ

    4. SQL Serverでデータアクセスが有効になっているかどうかを確認する2つの方法(T-SQLの例)