PL / SQL-基本構文
この章では、PL / SQLの基本構文について説明します。 block-structured言語; これは、PL / SQLプログラムが分割されて論理的なコードブロックで記述されることを意味します。各ブロックは3つのサブパートで構成されています-
S.No | セクションと説明 |
---|---|
1 | Declarations このセクションはキーワードで始まります DECLARE。これはオプションのセクションであり、プログラムで使用されるすべての変数、カーソル、サブプログラム、およびその他の要素を定義します。 |
2 | Executable Commands このセクションはキーワードで囲まれています BEGIN そして ENDそしてそれは必須のセクションです。これは、プログラムの実行可能なPL / SQL文で構成されています。少なくとも1行の実行可能コードが必要です。NULL command 何も実行しないことを示します。 |
3 | Exception Handling このセクションはキーワードで始まります EXCEPTION。このオプションのセクションには、exception(s) プログラムのエラーを処理します。 |
すべてのPL / SQL文はセミコロン(;)で終わります。PL / SQLブロックは、を使用して他のPL / SQLブロック内にネストできます。BEGIN そして END。PL / SQLブロックの基本構造は次のとおりです。
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
「HelloWorld」の例
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
ザ・ end;lineは、PL / SQLブロックの終了を示します。SQLコマンドラインからコードを実行するには、コードの最後の行の後の最初の空白行の先頭に/を入力する必要がある場合があります。上記のコードをSQLプロンプトで実行すると、次の結果が生成されます。
Hello World
PL/SQL procedure successfully completed.
PL / SQL識別子
PL / SQL識別子は、定数、変数、例外、プロシージャ、カーソル、および予約語です。識別子は、オプションで文字とそれに続く文字、数字、ドル記号、アンダースコア、および番号記号で構成され、30文字を超えてはなりません。
デフォルトでは、 identifiers are not case-sensitive。だからあなたは使うことができますinteger または INTEGER数値を表します。予約済みのキーワードを識別子として使用することはできません。
PL / SQL区切り文字
区切り文字は、特別な意味を持つ記号です。以下は、PL / SQLの区切り文字のリストです。
デリミタ | 説明 |
---|---|
+, -, *, / | 足し算、引き算/否定、掛け算、割り算 |
% | 属性インジケーター |
' | 文字列区切り文字 |
. | コンポーネントセレクター |
(,) | 式またはリスト区切り文字 |
: | ホスト変数インジケーター |
, | アイテムセパレータ |
" | 引用符で囲まれた識別子の区切り文字 |
= | 関係演算子 |
@ | リモートアクセスインジケーター |
; | ステートメントターミネータ |
:= | 代入演算子 |
=> | アソシエーション演算子 |
|| | 連結演算子 |
** | べき乗演算子 |
<<, >> | ラベル区切り文字(開始と終了) |
/*, */ | 複数行コメント区切り文字(開始と終了) |
-- | 単一行コメントインジケータ |
.. | 範囲演算子 |
<, >, <=, >= | 関係演算子 |
<>, '=, ~=, ^= | NOTEQUALの異なるバージョン |
PL / SQLコメント
プログラムコメントは、作成するPL / SQLコードに含めることができる説明文であり、ソースコードを読む人を支援します。すべてのプログラミング言語では、何らかの形式のコメントが許可されています。
PL / SQLは、単一行および複数行のコメントをサポートします。コメント内で使用可能なすべての文字は、PL / SQLコンパイラによって無視されます。PL / SQLの単一行コメントは区切り文字-(二重ハイフン)で始まり、複数行コメントは/ *および* /で囲まれます。
DECLARE
-- variable declaration
message varchar2(20):= 'Hello, World!';
BEGIN
/*
* PL/SQL executable statement(s)
*/
dbms_output.put_line(message);
END;
/
上記のコードをSQLプロンプトで実行すると、次の結果が生成されます。
Hello World
PL/SQL procedure successfully completed.
PL / SQLプログラムユニット
PL / SQLユニットは、次のいずれかです。
- PL / SQLブロック
- Function
- Package
- パッケージ本体
- Procedure
- Trigger
- Type
- タイプボディ
これらの各ユニットについては、次の章で説明します。