PL/SQLには、予約語と呼ばれる特定の意味を持つキーワードが多数あります。これらの予約語は、変数やオブジェクト名として使用できないため、注意が必要です。
代表的なPL/SQLの予約語
予約語 | 説明 |
---|---|
ACCESS | データベースオブジェクトに対するアクセス権限を指定する。 |
ADD | テーブルに列や制約を追加するために使用される。 |
ALL | クエリや条件において、すべての行や値を対象とする。 |
ALTER | 既存のデータベースオブジェクトを変更するために使用される。 |
AND | 複数の条件を結合し、すべての条件が満たされる場合にTRUEを返す。 |
ANY | クエリや条件において、いずれかの行や値を対象とする。 |
AS | エイリアス(別名)を指定するために使用される。 |
ASC | 昇順で並べ替えるために使用される。 |
BEGIN | PL/SQLブロックの開始を示すキーワード。 |
BETWEEN | 範囲内の値をチェックするために使用される。 |
BY | グループ化や並べ替えに使用される。 |
CASE | 条件に応じて異なる処理を行うための構文。 |
CHECK | 列の値に対して条件を設定するために使用される制約。 |
CLOSE | カーソルを明示的に閉じるために使用される。 |
COMMIT | トランザクションの変更を確定し、データベースに保存する。 |
CONNECT | データベースに接続するために使用される。 |
CONSTANT | 定数を宣言するために使用され、値の変更はできない。 |
CREATE | 新しいデータベースオブジェクトを作成するために使用される。 |
CURRENT | 現在の日時やセッションに関する情報を参照する。 |
CURSOR | クエリの結果セットを処理するために使用されるカーソルを定義する。 |
DECLARE | PL/SQLブロック内で変数や定数を宣言する。 |
DEFAULT | 列に対するデフォルト値を指定するために使用される。 |
DELETE | テーブルからデータを削除する。 |
DESC | 降順で並べ替えるために使用される。 |
DISTINCT | 重複する行を排除して一意の結果を返す。 |
DROP | データベースオブジェクトを削除するために使用される。 |
ELSE | 条件がFALSEの場合に実行される処理を指定する。 |
ELSIF | 複数の条件をチェックする場合に使用される。 |
END | PL/SQLブロックの終了を示すキーワード。 |
EXCEPTION | エラーや例外が発生した場合の処理を記述する。 |
EXECUTE | PL/SQLブロックやSQL文を実行する。 |
EXISTS | サブクエリが1つ以上の行を返すかどうかを確認する。 |
EXIT | ループやブロックから抜け出すために使用される。 |
FOR | 指定した回数または条件でループ処理を行う。 |
FROM | データを取得するテーブルやビューを指定する。 |
FUNCTION | 特定の処理を行い、結果を返すPL/SQLの関数を定義する。 |
GRANT | ユーザーに特定の権限を付与するために使用される。 |
GROUP | データをグループ化して集計処理を行う。 |
HAVING | グループ化された結果に条件を指定する。 |
IF | 条件がTRUEかどうかをチェックするために使用される。 |
IN | 特定の値のリストに含まれているかを確認する。 |
INSERT | テーブルに新しいデータを挿入する。 |
INTERSECT | 2つのクエリの結果の共通部分を取得する。 |
INTO | クエリの結果を変数に格納するために使用される。 |
IS | PL/SQLブロックやサブプログラムの開始を示す。 |
LIKE | パターンマッチングを行うために使用される。 |
LOOP | 繰り返し処理を行うために使用される。 |
MOD | 除算の余りを返す数学関数。 |
NOT | 条件がFALSEの場合にTRUEを返す。 |
NULL | 値が存在しないことを示す特殊なマーカー。 |
OF | 指定したデータ型やオブジェクトに関連することを示す。 |
ON | 結合やトリガーに条件を指定するために使用される。 |
OR | 複数の条件のうち、いずれかがTRUEであればTRUEを返す。 |
ORDER | クエリの結果を指定の順序で並べ替えるために使用される。 |
PRAGMA | コンパイラ指令を記述するために使用される。 |
PROCEDURE | 特定の処理を行うプロシージャを定義する。 |
RAISE | 例外を発生させるために使用される。 |
RENAME | データベースオブジェクトの名前を変更するために使用される。 |
RETURN | 関数から値を返すために使用される。 |
REVOKE | ユーザーから特定の権限を取り消すために使用される。 |
ROLLBACK | トランザクションの変更を取り消す。 |
SELECT | データベースからデータを取得するために使用される。 |
SET | 変数に値を設定する。 |
THEN | 条件がTRUEの場合に実行される処理を指定する。 |
TO | 範囲や変換先を指定する。 |
TRIGGER | 特定のイベントに応じて実行されるトリガーを定義する。 |
UNION | 複数のクエリの結果を結合して一つの結果セットにする。 |
UPDATE | 既存のデータを更新するために使用される。 |
VALUES | INSERT文で挿入するデータを指定する。 |
WHEN | 特定の条件がTRUEのときに実行される処理を指定する。 |
WHERE | データ取得や操作時に条件を指定する。 |
WHILE | 条件がTRUEの間、繰り返し処理を行う。 |
予約語の使用に関する注意
PL/SQLでは、これらの予約語を変数やテーブル名として使用することはできません。万が一、これらのキーワードを使用する必要がある場合は、引用符を使用することで名前に含めることが可能です。ただし、引用符で囲んだ名前はケースセンシティブ(大文字小文字が区別される)になるため、通常は避けるのが一般的です。