----
⌣''[[PL/pgSQL入門ページに戻る>PL/pgSQL入門]]''
----
* 引数を渡す方法 [#ocb88cdf]
ファンクションに引数を渡すPL/pgSQLのサンプルを記します。
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* お約束 [#gfeedfc3]
当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。~
当サイトの資料により直接的および間接的障害が生じても一切責任を負いませんので、あらかじめご了承ください。~
自己責任のもとで本資料をご利用ください。
* 引数を渡す [#j5cc2ebc]
PL/pgSQLで引数を渡すサンプルコードを記します。~
引数で渡した文字列をクエリーに表示します。~
#ref(say.sql)
-- 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ファンクションの登録および実行 [#k6a8d949]
&ref(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を組み合わせるとターミナルから直接実行することができます。
* sayファンクションの削除 [#f002c0ad]
上記と同じく、ターミナルから直接DROPしてみます。
sakura@cygwin ~/PLpgSQL$ psql -U sakura -h localhost -c "drop function say(msg text);" sakuradb
Password for user sakura:
DROP FUNCTION
* まとめ [#b6dc1579]
+引数を渡す場合は、ファンクション名の後の()の中に記述する。
+psqlの-cオプションを使うとターミナルから直接実行することができる。
----
⌣''[[PL/pgSQL入門ページに戻る>PL/pgSQL入門]]''
#htmlinsertpcsp(db-btm.html,db-sp.html)