PostgreSQL: PL/pgSQL をその場で実行する


Oracle Database だと PL/SQL というのがあり、 ストアドプロシージャやストアドファンクションを作って実行することができます。 PostgreSQL でも同じように ファンクション を作って実行することができます。

ここでは、ファンクションを作らずに、その場で PL/pgSQL を実行する方法をまとめました。

検証した環境

  • クライアント: version 9.6
  • サーバ: version 9.3

方法

DO を使います。

このように書いた場合、 PL/pgSQL が処理言語として使われ、直ちに処理が実行されます。 ほかに PL/Tcl, PL/TclU, PL/Perl, PL/PerlU, PL/PythonU などを使う場合は DO の直後にその言語を記述します。 DO plperl のように。

DO ステートメント は PostgreSQL 9.0 で導入されました。