このエントリーをはてなブックマークに追加 Yahoo!ブックマークに登録

[smile]PL/pgSQL入門ページに戻る


引数を渡す方法

ファンクションに引数を渡す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ファンクションの登録および実行

filesay.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ファンクションの削除

上記と同じく、ターミナルから直接DROPしてみます。

sakura@cygwin ~/PLpgSQL$  psql -U sakura -h localhost -c "drop function say(msg text);" sakuradb
Password for user sakura:
DROP FUNCTION

まとめ

  1. 引数を渡す場合は、ファンクション名の後の()の中に記述する。
  2. psqlの-cオプションを使うとターミナルから直接実行することができる。

[smile]PL/pgSQL入門ページに戻る


スポンサーリンク


添付ファイル: filesay.sql 3件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-10-22 (土) 00:16:18 (92d)