SQL Developer - PL/SQL - 最初の1歩
ずいぶん前になりますが、触ったことはあります。Pascalっぽいと思った記憶があります。
環境
SQL Developer:バージョン21.2.1.204
やりたいこと
SQL DeveloperでPL/SQLを作成して実行してみたい。
まずは、Hello World的な事をやってみたい。
このペインに「パッケージ」、「プロシージャ」、「ファンクション」とありどれもPL/SQLっぽいのですが、まずは「プロシージャ」で作成してみます。
プロシージャといっても引数を指定できる?っぽいです。記憶違いですかね。引数指定する場合はファンクションだと思っていました。VBA、VBと勘違いしているのかなぁ
まずは、引数なしでいいので「OK」ボタンをクリックします。
テンプレートが出来ています。
ここに打ち込んでいけばいいのですが…PL/SQLのプリント文って何?
以下がPL/SQLのプリント文らしいです。
DBMS_OUTPUT.PUT_LINE('Hello PL/SQL');
これを打ち込み、実行してみます。
実行は、緑の再生アイコンをクリックします。PL/SQLにエラーがあるときは押せないようになっている?気がします。
CREATE OR REPLACE PROCEDURE PROCEDURE1 AS
BEGIN
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello PL/SQL');
END;
END PROCEDURE1;
ちょこっとだけ
FOR文は
以下のようなイメージです。
CREATE OR REPLACE PROCEDURE PROCEDURE1 AS
BEGIN
BEGIN
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('Hello PL/SQL');
END LOOP;
END;
END PROCEDURE1;
変数、定数、文字列連結(||)は
以下のようなイメージです。
CREATE OR REPLACE PROCEDURE PROCEDURE1 AS
BEGIN
DECLARE
valA NUMBER := 101;
valB CONSTANT NUMBER := 102; -- 定数定義
valC CONSTANT VARCHAR(20) := 'Hello PL/SQL';
BEGIN
DBMS_OUTPUT.PUT_LINE('valA=' || valA);
valA := 200;
DBMS_OUTPUT.PUT_LINE(valA);
DBMS_OUTPUT.PUT_LINE(valC);
END;
END PROCEDURE1;