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
  • タイプボディ

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