ソフトウェアエンジニアの日常の雑記

日々思ったことをまとめます

Postgresqlのfunction

PostgreSQLのメジャーバージョンアップで、暗黙オブジェクトがよく変わるのでFunctionのおさらい(暗黙オブジェクトに依存して作るのがよくないのだが)

CREATE FUNCTION ファンクション名 ($1,$2,$3) RETURNS リターン型 AS '式' LANGUAGE SQL

ファンクション名のあとに引数で、$1,$2,$3が後ろの式でそのまま使用できる。下記サンプル。

CREATE FUNCTION sample_func (timestamp with time zone,integer,integer) RETURNS TEXT AS 'select substring(CAST($1 AS TEXT),$2,$3);' LANGUAGE SQL

sample_func ・・・ファンクション名
(timestamp with time zone,integer,integer)・・・引数たち
RETURNS TEXT ・・・返却型
'select substring(CAST($1 AS TEXT),$2,$3);'・・・処理する内容
LANGUAGE SQL・・・処理する言語(他にもCとか色々ある)

こんな感じになっている。