【PostgreSQL】変数を宣言する、変数宣言時に代入する、定数を宣言する方法
変数を宣言する方法
変数は関数で使用することができ、冒頭(declareとbeginの間)で宣言をします。
(通常のSQL問い合わせでは使用できません。)
CREATE OR REPLACE FUNCTION var_test()
RETURNS boolean
LANGUAGE 'plpgsql' COST 100 VOLATILE AS $BODY$
declare
--関数宣言はdeclareからbeginの間に書きます。
--宣言は変数名+半角スペース+型です。
variable1 integer;
begin
あわせて読みたい
実行して試したい方に、関数を手っ取り早く作成する関数テンプレをこちらで紹介しています
あわせて読みたい
SQLの結果を変数に格納する方法はこちらで紹介しています
よく使う変数
比較的よく使う変数を紹介します。
--変数名+スペース+型で宣言する
variable1 character(10); --文字
variable2 character varying(10); --文字
variable3 text; --文字
variable4 integer; --数値
variable5 numeric; --数値
variable6 boolean; --true/false
variable7 RECORD; --レコード
variable8 テーブル名%ROWTYPE; --存在するテーブルの行
variable9 テーブル名.カラム名%TYPE; --存在するテーブルの列
arr1 character varying[]; --配列
arr2 integer[]; --配列
あわせて読みたい
関数を作っている時やデバッグ時に、変数の中身を確認したい時があると思います。
こちらの記事で、raise関数を使った変数の中身の表示方法を紹介しています。
変数宣言と同時に代入する方法
変数宣言と同時に代入をする方法です。
-- 型の後に、コロン+イコールで値を代入します
変数名 型:=値
var1 character(10):='abc'; --文字
var2 character varying(10):='CDE'; --文字
var3 integer:=1; --数値
var4 numeric:=2.3; --数値
var5 boolean:=true; --真偽値
arr1 character varying[]:=array['A','B','C','D']; --配列
arr2 integer[]:=array[1,2,3]; --配列
定数を宣言する方法
変数の次に、定数の宣言方法です。
-- 変数名の後に「constant」をつけ、型の後にコロン+イコールで定数宣言
変数名 constant 型:=値
var1 constant character varying(10) := 'abcdefghij';
var2 constant numeric := 1.08;