テーブル名やカラム名には通常、予約語(SELECTとかINSERTなど)は使用できませんが、ダブルクォーテーションで囲うことで使用することができます。
サンプル
例)ダメな例
1 2 3 |
CREATE TABLE SELECT( col1 VARCHAR2(10) ); |
SELECTは予約語なので、エラー(ORA-00903やORA-00904)が発生します。
例)OKな例
1 2 3 |
CREATE TABLE "SELECT"( col1 VARCHAR2(10) ); |
SELECTは予約語ですが、ダブルクォーテーションで囲っているためOKです。
備考
- テーブル名やカラム名に予約語を使用した場合は、そのテーブルを検索する時もダブルクォーテーションが必要になります。
- ダブルクォーテーションで囲えばテーブル名やカラム名に予約語を使用できますが、分かりづらくなるためよっぽど特別な理由が無い限りお勧めできません。
関連項目
- 予約語の一覧は以下ORACLE公式ページをご覧ください。
ORACLE予約語(12c)