Plsql-basic-syntax
PL/SQL-基本構文
この章では、*ブロック構造*言語であるPL/SQLの基本構文について説明します。これは、PL/SQLプログラムが分割され、コードの論理ブロックに書き込まれることを意味します。 各ブロックは3つのサブパートで構成されています-
S.No | Sections & Description |
---|---|
1 |
Declarations このセクションは、キーワード DECLARE で始まります。 これはオプションのセクションであり、プログラムで使用されるすべての変数、カーソル、サブプログラム、およびその他の要素を定義します。 |
2 |
Executable Commands このセクションは、キーワード BEGIN と END で囲まれ、必須のセクションです。 プログラムの実行可能なPL/SQL文で構成されます。 少なくとも1行の実行可能なコードが必要です。これは、何も実行しないことを示す* NULLコマンド*である場合があります。 |
3 |
Exception Handling このセクションは、キーワード EXCEPTION で始まります。 このオプションセクションには、プログラムのエラーを処理する* exception(s)*が含まれます。 |
すべてのPL/SQL文はセミコロン(;)で終わります。 PL/SQLブロックは、 BEGIN および END を使用して他のPL/SQLブロック内にネストできます。 以下は、PL/SQLブロックの基本構造です-
DECLARE
<declarations section>
BEGIN
<executable command(s)>
EXCEPTION
<exception handling>
END;
「Hello World」の例
DECLARE
message varchar2(20):= 'Hello, World!';
BEGIN
dbms_output.put_line(message);
END;
/
*end;* 行は、PL/SQLブロックの終了を示します。 SQLコマンドラインからコードを実行するには、コードの最後の行の後の最初の空白行の先頭に/を入力する必要がある場合があります。 上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-
Hello World
PL/SQL procedure successfully completed.
PL/SQL識別子
PL/SQL識別子は、定数、変数、例外、プロシージャ、カーソルおよび予約語です。 識別子は、オプションでさらに文字、数字、ドル記号、アンダースコア、シャープ記号が続く文字で構成され、30文字を超えてはなりません。
デフォルトでは、識別子は大文字と小文字を区別しません。 したがって、 integer または INTEGER を使用して数値を表すことができます。 予約済みのキーワードを識別子として使用することはできません。
PL/SQLデリミタ
区切り記号は、特別な意味を持つ記号です。 以下は、PL/SQLの区切り文字のリストです-
Delimiter | Description |
---|---|
+, -, *,/ | Addition, subtraction/negation, multiplication, division |
% | Attribute indicator |
'' | Character string delimiter |
. | Component selector |
(,) | Expression or list delimiter |
: | Host variable indicator |
, | Item separator |
" | Quoted identifier delimiter |
= | Relational operator |
@ | Remote access indicator |
; | Statement terminator |
:= | Assignment operator |
⇒ | Association operator |
* | |
* | Concatenation operator |
** | Exponentiation operator |
<<, >> | Label delimiter (begin and end) |
/, / | Multi-line comment delimiter (begin and end) |
-- | Single-line comment indicator |
.. | Range operator |
<, >, ⇐, >= | Relational operators |
*<>, '=, ~=, ^= * | Different versions of NOT EQUAL |
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ブロック
- 関数
- パッケージ
- パッケージ本体
- 手順
- 引き金
- Type
- タイプ本体
これらの各ユニットについては、以降の章で説明します。