Oracle PL/SQL

1月 1, 2003 · Posted in plsql · Comment 

Oracleが開発したプログラミング言語。SQL に制御構造を加えたもの。ストアドプログラムとして Oracle サーバに格納しておくこともできる。

Advertisement


基本

パッケージ

TIPS

メモ

リンク

Oracle PL/SQL – ブロック構造

1月 1, 2003 · Posted in plsql · Comment 

ブロック構造

PL/SQL の基本的な構造。

DECLARE
    -- 宣言
BEGIN
    -- 処理
EXCEPTION
    -- 例外処理
END;

※ BEGIN のみ必須。

declareブロック

declare ブロックでは変数とカーソルの宣言を行う。

begin ブロック

実際の処理を記述する。データベースの検索、演算、レコードの挿入などを行う。

exception ブロック

begin ブロックで例外が発生した場合の処理を記述する。

Oracle PL/SQL – char と varchar2 の比較

1月 1, 2003 · Posted in plsql · Comment 

比較

char型変数にその変数の最大長に満たない値を設定すると、足りない桁数分のスペースが自動的に設定される。
よって、内容が同じでも型の違う項目同士を比較するとマッチしないため、注意が必要。

サンプルコード

declare
    name1 char(10);
    name2 varchar2(10);
begin
    name1 := 'hello';
    name2 := 'hello';

    if name1 = name2 then
        dbms_output.put_line('if');
    else
        dbms_output.put_line('else');
    end if;
end;

実行結果

else

プロシージャからプロシージャを呼び出すときの引数項目などで、可変長の項目をcharで渡してしまっているミスなど、ありがちなので注意が必要。

次ページへ »