http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05750-03/ap_keywd.htm

V$RESERVED_WORDSデータ・ディクショナリ・ビューには、すべてのキーワードに関する追加情報が表示されます。


アスタリスク（*）が付いた語は、ANSIの予約語

ACCESS
ADD *
ALL *
ALTER *
AND *
ANY *
AS *
ASC *
AUDIT
BETWEEN *
BY *
CHAR *
CHECK *
CLUSTER
COLUMN
COMMENT
COMPRESS
CONNECT *
CREATE *
CURRENT *
DATE *
DECIMAL *
DEFAULT *
DELETE *
DESC *
DISTINCT *
DROP *
ELSE *
EXCLUSIVE
EXISTS
FILE
FLOAT *
FOR *
FROM *
GRANT *
GROUP *
HAVING *
IDENTIFIED
IMMEDIATE *
IN *
INCREMENT
INDEX
INITIAL
INSERT *
INTEGER *
INTERSECT *
INTO *
IS *
LEVEL *
LIKE *
LOCK
LONG
MAXEXTENTS
MINUS
MLSLABEL
MODE
MODIFY
NOAUDIT
NOCOMPRESS
NOT *
NOWAIT
NULL *
NUMBER
OF *
OFFLINE
ON *
ONLINE
OPTION *
OR *
ORDER *
PCTFREE
PRIOR *
PRIVILEGES *
PUBLIC *
RAW
RENAME
RESOURCE
REVOKE *
ROW
ROWID
ROWNUM
ROWS *
SELECT *
SESSION *
SET *
SHARE
SIZE *
SMALLINT *
START
SUCCESSFUL
SYNONYM
SYSDATE
TABLE *
THEN *
TO *
TRIGGER
UID
UNION *
UNIQUE *
UPDATE *
USER *
VALIDATE
VALUES *
VARCHAR *
VARCHAR2
VIEW *
WHENEVER *
WHERE
WITH *


============================================================

http://docs.oracle.com/cd/E16338_01/server.112/b56311/dynviews_2134.htm
V$RESERVED_WORDSは、すべてのSQLキーワードのリストを示します。
特定のキーワードが予約済かどうか判断するには、RESERVED、RES_TYPE、RES_ATTR、RES_SEMIの各列を確認してください。

KEYWORD		VARCHAR2(30)	キーワードの名前
LENGTH		NUMBER			キーワードの長さ
RESERVED	VARCHAR2(1)		キーワードを識別子として使用できないか(Y)、またはキーワードが予約されていない(N)
RES_TYPE	VARCHAR2(1)		キーワードをタイプ名として使用できないか(Y)、またはキーワードが予約されていない(N)
RES_ATTR	VARCHAR2(1)		キーワードを属性名として使用できないか(Y)、またはキーワードが予約されていない(N)
RES_SEMI	VARCHAR2(1)		キーワードがDMLなど特定の場合に識別子として許可されていないか(Y)、またはキーワードが予約されていない(N)
DUPLICATE	VARCHAR2(1)		キーワードが別のキーワードの複製であるか(Y)、またはキーワードが複製でない(N)


select * from V$RESERVED_WORDS
where (	RESERVED='Y'
	or	RES_TYPE='Y'
	or	RES_ATTR='Y'
	or	RES_SEMI='Y'
	or	DUPLICATE='Y' )
and LENGTH > 1
order by KEYWORD



Step0:ORACLE予約語をすべて削除します。
delete from GF19 where DBNAME = 'ORACLE' ;


Step1:ORACLEキーワードをすべて登録します。(CDYOYAKU='1')
insert into GF19
	(YOYAKU,DBNAME,CDYOYAKU,RANKCOM,FGJ)
select KEYWORD,'ORACLE','1','0','1'
	from  V$RESERVED_WORDS
	where LENGTH > 1 ;


Step2:PL/SQLの予約語についてフラグをセットし直します。(CDYOYAKU='2')
		これらは、弱い順に更新することで、強い条件が優先されます。
update GF19 set CDYOYAKU='2'
where DBNAME='ORACLE'
and   YOYAKU in (
		'ABORT','BETWEEN','CRASH','DIGITS',
		'ACCEPT','BINARY_INTEGER','CREATE','DISPOSE',
		'ACCESS','BODY','CURRENT','DISTINCT',
		'ADD','BOOLEAN','CURRVAL','DO',
		'ALL','BY','CURSOR','DROP',
		'ALTER','CASE','DATABASE','ELSE',
		'AND','CHAR','DATA_BASE','ELSIF',
		'ANY','CHAR_BASE','DATE','END',
		'ARRAY','CHECK','DBA','ENTRY',
		'ARRAYLEN','CLOSE','DEBUGOFF','EXCEPTION',
		'AS','CLUSTER','DEBUGON','EXCEPTION_INIT',
		'ASC','CLUSTERS','DECLARE','EXISTS',
		'ASSERT','COLAUTH','DECIMAL','EXIT',
		'ASSIGN','COLUMNS','DEFAULT','FALSE',
		'AT','COMMIT','DEFINITION','FETCH',
		'AUTHORIZATION','COMPRESS','DELAY','FLOAT',
		'AVG','CONNECT','DELETE','FOR',
		'BASE_TABLE','CONSTANT','DELTA','FORM',
		'BEGIN','COUNT','DESC','FROM',
		'FUNCTION','NEW','RELEASE','SUM',
		'GENERIC','NEXTVAL','REMR','TABAUTH',
		'GOTO','NOCOMPRESS','RENAME','TABLE',
		'GRANT','NOT','RESOURCE','TABLES',
		'GROUP','NULL','RETURN','TASK',
		'HAVING','NUMBER','REVERSE','TERMINATE',
		'IDENTIFIED','NUMBER_BASE','REVOKE','THEN',
		'IF','OF','ROLLBACK','TO',
		'IN','ON','ROWID','TRUE',
		'INDEX','OPEN','ROWLABEL','TYPE',
		'INDEXES','OPTION','ROWNUM','UNION',
		'INDICATOR','OR','ROWTYPE','UNIQUE',
		'INSERT','ORDER','RUN','UPDATE',
		'INTEGER','OTHERS','SAVEPOINT','USE',
		'INTERSECT','OUT','SCHEMA','VALUES',
		'INTO','PACKAGE','SELECT','VARCHAR',
		'IS','PARTITION','SEPARATE','VARCHAR2',
		'LEVEL','PCTFREE','SET','VARIANCE',
		'LIKE','POSITIVE','SIZE','VIEW',
		'LIMITED','PRAGMA','SMALLINT','VIEWS',
		'LOOP','PRIOR','SPACE','WHEN',
		'MAX','PRIVATE','SQL','WHERE',
		'MIN','PROCEDURE','SQLCODE','WHILE',
		'MINUS','PUBLIC','SQLERRM','WITH',
		'MLSLABEL','RAISE','START','WORK',
		'MOD','RANGE','STATEMENT','XOR',
		'MODE','REAL','STDDEV',
		'NATURAL','RECORD','SUBTYPE'
);

Step3:ORACLE予約語のみフラグをセットし直します。(CDYOYAKU='0')
update GF19 set CDYOYAKU='0'
where DBNAME='ORACLE'
and   YOYAKU in (
		select KEYWORD
	from V$RESERVED_WORDS
	where ( RESERVED='Y' or RES_SEMI='Y')
	and   LENGTH > 1
);


Step4:共通予約語(ANSIなど）をセットします。(RANKCOM='1')
update GF19 set CONTENTS='ANSY',CDYOYAKU='0',RANKCOM='1'
where DBNAME='ORACLE'
and   YOYAKU in ('ADD','ALL','ALTER','AND','ANY','AS','ASC','BETWEEN','BY','CHAR','CHECK','CONNECT','CREATE','CURRENT','DATE','DECIMAL','DEFAULT','DELETE','DESC','DISTINCT','DROP','ELSE','FLOAT','FOR','FROM','GRANT','GROUP','HAVING','IMMEDIATE','IN','INSERT','INTEGER','INTERSECT','INTO','IS','LEVEL','LIKE','NOT','NULL','OF','ON','OPTION','OR','ORDER','PRIOR','PRIVILEGES','PUBLIC','REVOKE','ROWS','SELECT','SESSION','SET','SIZE','SMALLINT','TABLE','THEN','TO','UNION','UNIQUE','UPDATE','USER','VALUES','VARCHAR','VIEW','WHENEVER','WITH' ) ;


Step5:ORACLEのキーワードが多いので、最初に INSERTしたままのキーワードを、削除します。(CDYOYAKU='1')
delete from GF19
	where DBNAME = 'ORACLE'
	and   CDYOYAKU='1' ;



=========================================================-
http://docs.oracle.com/cd/E16338_01/appdev.112/b61344/appb.htm


