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

PostgreSQLのトリガー関数の動的クエリ

    NEWを変更する必要がありました ($1)へ これは最初にバインドされたパラメータへの参照であるためです。

    正しいクエリは次のとおりです。

    CREATE OR REPLACE FUNCTION "Site"."UpdateAncestorModified"()
      RETURNS trigger AS
    $BODY$BEGIN
        EXECUTE
            format
            ('
                UPDATE 
                    "' || TG_TABLE_SCHEMA || '"."' || TG_TABLE_NAME || '" 
                SET
                    modified = ($1).modified
                WHERE
                    id = ($1)."ancestorId"
                AND
                    modified <> ($1).modified
            ')
        USING
            NEW;
        RETURN NEW;
    END$BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    



    1. MySQLEAVの結果をリレーショナルテーブルとして取得するための最高のパフォーマンスは何ですか

    2. MySQLパスワードを復号化するにはどうすればよいですか

    3. NoSQL:スキーマのない生活

    4. Dockerphp_network_getaddressesエラー