Plsql-basic-syntax

提供:Dev Guides
移動先:案内検索

PL/SQL-基本構文

この章では、*ブロック構造*言語であるPL/SQLの基本構文について説明します。これは、PL/SQLプログラムが分割され、コードの論理ブロックに書き込まれることを意味します。 各ブロックは3つのサブパートで構成されています-

S.No Sections & Description
1

Declarations

このセクションは、キーワード DECLARE で始まります。 これはオプションのセクションであり、プログラムで使用されるすべての変数、カーソル、サブプログラム、およびその他の要素を定義します。

2

Executable Commands

このセクションは、キーワード BEGINEND で囲まれ、必須のセクションです。 プログラムの実行可能な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
  • タイプ本体

これらの各ユニットについては、以降の章で説明します。