ファンクションに引数を渡すPL/pgSQLのサンプルを記します。
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いませんので、あらかじめご了承ください。
自己責任のもとで本資料をご利用ください。
PL/pgSQLで引数を渡すサンプルコードを記します。
引数で渡した文字列をクエリーに表示します。
-- say.sql
CREATE OR REPLACE FUNCTION say(msg TEXT)
RETURNS
TEXT
AS $$
DECLARE
BEGIN
RAISE INFO '%', msg;
RETURN msg;
END
$$ LANGUAGE plpgsql
;
上記のファンクションは、TEXTの引数をもらい、ターミナルにINFOとして出力するのと、クエリー結果として引数の値を表示します。
say.sqlを登録し実行します。
今回の例では、すべてターミナルから実行する例を記します。
sakura@cygwin ~/PLpgSQL$ psql -U sakura -h localhost sakuradb -f say.sql Password for user sakura: CREATE FUNCTION
sakura@cygwin ~/PLpgSQL$ psql -U sakura -h localhost -c "select say('HELLO');" sakuradb
Password for user sakura:
INFO: HELLO
say
-------
HELLO
(1 row)
上記の出力例の通り、-cオプションとSQLを組み合わせるとターミナルから直接実行することができます。
上記と同じく、ターミナルから直接DROPしてみます。
sakura@cygwin ~/PLpgSQL$ psql -U sakura -h localhost -c "drop function say(msg text);" sakuradb Password for user sakura: DROP FUNCTION