plpgsql

最初に、DBでplpgsqlが使用できるか確認する。
DBにログインして以下のsqlを実行する。

 select * from pg_language;

このsqlでストアドプロシージャで使用できる言語の一覧が取得できる。
plpgsqlがない場合は、以下のコマンドを実行してインストールを行う。コマンドはpostgresユーザ等の管理者ユーザで行う。

 createlang -d [DB名] plpgsql

コマンドの成功時は何も表示されない。
尚、plpgsqlが使用できない状態でplpgsql関数を定義しようとすると以下のエラーが発生する。

 ERROR:  language "plpgsql" does not exist

以下はplpgsqlのサンプル。
引数で渡された2つの値を加算して返す。

 CREATE FUNCTION add( integer, integer ) RETURNS integer AS '
   -- "DECLARE"内で変数を定義する
   DECLARE
   -- 以下はinteger型の変数sumを定義する
   sum integer;
 -- "BEGIN"~"END"間で処理を記述する
 BEGIN
   -- sum変数に加算した結果を代入する)
   sum := $1+$2;
   -- RETURNで値を返す
   RETURN sum;
 END ;
 ' LANGUAGE 'plpgsql';

sum変数に加算した結果を代入する部分は以下の様にSELECT文で記述することもできる

 SELECT INTO sum $1+$2;

以下は参考URL。



2010-07-26

タグ:

postgresql plpgsql
最終更新:2010年07月26日 01:37
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。