【PostgreSQL】変数を宣言する、変数宣言時に代入する、定数を宣言する方法

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

 

 

 

 

 

よく使う変数

比較的よく使う変数を紹介します。

--変数名+スペース+型で宣言する
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;