ANSI/ISO 1989規格で規定されている予約語に加えて、ANSI/ISO SQL規格には次の予約語も含まれています。
ABSOLUTE | ACTION | ADD |
ALLOCATE | ALTER | ARE |
ASSERTION | AT | BIT |
BIT_LENGTH | BOTH | CASCADE |
CASCADED | CASE | CAST |
CATALOG | CHAR_LENGTH | CHARACTER_LENGTH |
COALESCE | COLLATE | COLLATION |
COLUMN | CONNECT | CONNECTION |
CONSTRAINT | CONSTRAINTS | CONVERT |
CORRESPONDING | CROSS | CURRENT_DATE |
CURRENT_TIME | CURRENT_TIMESTAMP | CURRENT_USER |
DATE | DAY | DEALLOATE |
DEFERRABLE | DEFERRED | DESCRIBE |
DESCRIPTOR | DIAGNOSTICS | DISCONNECT |
DOMAIN | DROP | ELSE |
END-EXEC | EXCEPT | EXCEPTION |
EXECUTE | EXTERNAL | EXTRACT |
FALSE | FIRST | FULL |
GET | GLOBAL | HOUR |
IDENTITY | IMMEDIATE | INITIALLY |
INNER | INPUT | INSENSITIVE |
INTERSECT | INTERVAL | ISOLATION |
JOIN | LAST | LEADING |
LEFT | LEVEL | LOCAL |
LOWER | MATCH | MINUTE |
MONTH | NAMES | NATIONAL |
NATURAL | NCHAR | NEXT |
NO | NULLIF | OCTET_LENGTH |
ONLY | OUTER | OUTPUT |
OVERLAPS | PAD | PARTIAL |
POSITION | PREPARE | PRESERVE |
PRIOR | READ | RELATIVE |
RESTRICT | REVOKE | RIGHT |
ROWS | SCROLL | SECOND |
SESSION | SESSION_USER | SIZE |
SPACE | SQLSTATE | SUBSTRING |
SYSTEM_USER | TEMPORARY | THEN |
TIME | TIMESTAMP | TIMEZONE_HOUR |
TIMEZONE_MINUTE | TRAILING | TRANSACTION |
TRANSLATE | TRANSLATION | TRIM |
TRUE | UNKNOWN | UPPER |
USAGE | USING | VALUE |
VARCHAR | VARYING | WHEN |
WRITE | YEAR | ZONE |
ANSI/ISO 1989規格およびANSI/ISO 1992規格で規定されている予約語に加えて、ANSI/ISO SQL 1999規格には次の予約語が含まれています。
ADMIN | AFTER | AGGREGATE |
ALIAS | ARRAY | BEFORE |
BINARY | BLOB | BOOLEAN |
BREADTH | CALL | CLASS |
CLOB | COMPLETION | CONDITION |
CONSTRUCTOR | CUBE | CURRENT_PATH |
CURRENT_ROLE | CYCLE | DATA |
DEPTH | DEREF | DESTROY |
DESTRUCTOR | DETERMINISTIC | DICTIONARY |
DO | DYNAMIC | EACH |
ELSEIF | EQUALS | EVERY |
EXIT | FREE | FUNCTION |
GENERAL | GROUPING | HANDLER |
HOST | IF | IGNORE |
INITIALIZE | INOUT | ITERATE |
LARGE | LATERAL | LEAVE |
LESS | LIMIT | LIST |
LOCALTIME | LOCALTIMESTAMP | LOCATOR |
LONG | LOOP | MAP |
MODIFIES | MODIFY | NCLOB |
NEW | NONE | NUMBER |
OBJECT | OFF | OLD |
OPERATION | ORDINALITY | OUT |
PARAMETER | PARAMETERS | PATH |
POSTFIX | PREFIX | PREORDER |
RAW | READS | RECURSIVE |
REDO | REF | REFERENCING |
REPEAT | RESIGNAL | RESULT |
RETURN | RETURNS | ROLE |
ROLLUP | ROUTINE | ROW |
SAVEPOINT | SCOPE | SEARCH |
SENSITIVE | SEQUENCE | SETS |
SIGNAL | SIMILAR | SPECIFIC |
SPECIFICTYPE | SQLEXCEPTION | SQLWARNING |
START | STATEMENT | STATIC |
STRUCTURE | TERMINATE | THAN |
TREAT | TRIGGER | TYPE |
UNDER | UNDO | UNNEST |
UNTIL | VARIABLE | WHILE |
WITHOUT |
F.4.4 ANSI/ISO SQL3草案規格の後で予約語から除外された語
以前のリリースでは、次の語はANSI/ISO SQL3草案規格に従って予約語として規定されていましたが、最終版のANSI/ISO 1999 SQL規格では除外されました。次の語は、以前の規定とは異なり、Oracle Rdbでは予約されていません。
ACTOR | ASYNC | ELEMENT |
INSTEAD | MOVE | MULTISET |
NEW_TABLE | OID | OLD_TABLE |
OPERATORS | OTHERS | PENDANT |
PRIVATE | PROTECTED | REPRESENTATION |
TEMPLATE | TEST | THERE |
TUPLE | VARIANT | VIRTUAL |
VISIBLE | WAIT |
SQLで使用される記号には、次の変更が適用されます。
F.5.1 一重引用符が文字列リテラルに必要
文字列リテラルの区切りには、二重引用符(")ではなく一重引用符(')を使用します。SQLでは、二重引用符で囲まれたリテラルに、それが標準的な使用方法ではないことを示す、情報的なコンパイル時の診断メッセージを使用してフラグが付けられます。このメッセージは、ANSI/ISO SQL規格に準拠していない構文が通知されないように指定している場合でも表示されます。
F.5.2 二重引用符がANSI/ISO SQLデリミタ付き識別子に必要
マルチスキーマ・オブジェクトの修飾名の、左端の名前のペアは、デリミタ付き識別子です。デリミタ付き識別子は二重引用符で囲み、大文字のみを使用する必要があります。デリミタ付き識別子を使用するには、ANSI/ISO SQL引用ルールを有効にする必要があります。詳細は、第2.2.11項を参照してください。
F.5.3 コロンがSQLモジュール言語のホスト言語変数の前に必要
SQLモジュール言語文では、パラメータの前にコロン(:)を付けてパラメータを列名や表名と区別することをお薦めします。このコロンは、SQLでは現在はオプションですが、ANSI/ISO SQL規格では必須です。SQLでも、Oracle Rdbの将来のバージョンではこのコロンが必須になる可能性があります。
F.6 診断メッセージの抑制
対話型SQLでは、SET WARNING NODEPRECATE文を使用して、廃止予定の機能に関する診断メッセージを抑制します。詳細は、「SET文」を参照してください。
SQLプリコンパイラを使用している場合は、プリコンパイラ・コマンドラインでSQLOPTIONS=WARN=(NODEPRECATE)修飾子を使用すると、廃止予定の機能に関する診断メッセージを抑制できます。詳細は、第4.3節を参照してください。
SQLモジュール言語を使用している場合は、モジュール言語コマンドラインでWARN=(NODEPRECATE)修飾子を使用すると、廃止予定の機能に関する診断メッセージを抑制できます。詳細は、第3.6節を参照してください。