DECLARE BEGIN SYS.DBMS_OUTPUT.PUT_LINE('Hello World'); END;
今回は「Hello World」を変数に代入して、出力します。
変数はDECLARE部で「変数名 変数型」の形式で宣言します。
変数への値の代入は「変数 := 代入する値」で行います。
DECLARE --DECLARE部で変数の宣言を行う str VARCHAR2(20); BEGIN --変数へ値の代入は「変数 := 代入する値」 str := 'Hello World 2'; SYS.DBMS_OUTPUT.PUT_LINE(str); END;宣言と同時に初期値を設定することも可能です。
初期値を設定しない場合は、変数の値はnullになります。
DECLARE --宣言と同時に初期値設定 str VARCHAR2(50) := 'Default Hello World'; BEGIN SYS.DBMS_OUTPUT.PUT_LINE(str); END;変数にNOT NULL制約を指定することも可能です。
変数は初期値を設定しなければ値はnullなので、NOT NULL制約を指定する場合は初期値も同時に設定する必要があります。
DECLARE --NOT NULL制約を指定 str VARCHAR2(50) NOT NULL := 'Default Hello World Not Null'; BEGIN SYS.DBMS_OUTPUT.PUT_LINE(str); END;CONSTキーワードを指定すると定数になります。
「定数名 CONSTANT データ型 := 定数値」と宣言します。
DECLARE --定数宣言 str CONSTANT VARCHAR2(50) := 'Const Hello World'; BEGIN SYS.DBMS_OUTPUT.PUT_LINE(str); END;定数なので下記のように定数に値を代入しようとすると、エラーになります。
DECLARE --定数宣言 str CONSTANT VARCHAR2(50) := 'Const Hello World'; BEGIN --定数に値を代入しようとするのでエラーになる。 str := 'Change Const Value'; SYS.DBMS_OUTPUT.PUT_LINE(str); END;
【関連】
PLSQL 変数の精度について
0 件のコメント:
コメントを投稿