「PostgreSQL13」select文で一つの値を取得するファンクションのサンプル
環境
PostgreSQL 13.2
書式
CREATE OR REPLACE Function ファクション名(引数 データの型) RETURNS VARCHAR AS $$
入力として数値を渡してsql intoで値を取得します。
使用例
1.select構文で一つの値を取得するファンクションの定義
CREATE OR REPLACE Function funB(userid int) RETURNS VARCHAR
AS $$
DECLARE
username VARCHAR(20);
BEGIN
SELECT name INTO username FROM USERTBL
WHERE ID = userid;
RETURN username;
END;
$$
LANGUAGE plpgsql;
CREATE OR REPLACE Function funB(userid int) RETURNS VARCHAR
AS $$
DECLARE
username VARCHAR(20);
BEGIN
SELECT name INTO username FROM USERTBL
WHERE ID = userid;
RETURN username;
END;
$$
LANGUAGE plpgsql;
CREATE OR REPLACE Function funB(userid int) RETURNS VARCHAR AS $$ DECLARE username VARCHAR(20); BEGIN SELECT name INTO username FROM USERTBL WHERE ID = userid; RETURN username; END; $$ LANGUAGE plpgsql;
説明
(1).select intoで取得したnameを変数のusernameにセットします。
SELECT カラム名 INTO 変数名 FROM テーブル名
(2).外部から受け取った数値で条件を指定
WHERE カラム名B = 引数;
2.ファンクションを実行します。
select funB(1002);
結果
山田 太郎
select funB(1002);
結果
山田 太郎
select funB(1002); 結果 山田 太郎