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
- タイプ本体
これらの各ユニットについては、以降の章で説明します。