[plsql] Fix object table substitution clause for CREATE TABLE

This commit is contained in:
Andreas Dangel
2019-06-14 13:26:42 +02:00
parent 5b6f483f95
commit 8dae514168
2 changed files with 5 additions and 2 deletions

View File

@ -3648,7 +3648,7 @@ ASTTable Table() :
<TABLE> ObjectNameDeclaration()
[ <SHARING> "=" ( <METADATA> | <DATA> | <EXTENDED> <DATA> | <NONE> ) ]
//object_table
( <OF> Datatype() [ [ <NOT> ] KEYWORD("SUBSTITUTABLE") <AT> <ALL> KEYWORD("LEVELS") ]|
( <OF> Datatype() [ [ <NOT> ] <SUBSTITUTABLE> <AT> <ALL> KEYWORD("LEVELS") ]|
//relational_table
[ "(" ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ) ("," ( LOOKAHEAD(2) OutOfLineConstraint() | TableColumn() ))* ")" ]
[LOOKAHEAD(4) <ON> <COMMIT> (<DROP> | <PRESERVE>) <DEFINITION>]
@ -5586,7 +5586,6 @@ ASTKEYWORD_UNRESERVED KEYWORD_UNRESERVED (): {}
| <LENGTH>
//| <LESS>
| <LEVEL>
//| <LEVELS>
| <LIBRARY>
//| <LIKE_EXPAND>
| <LIKE2>

View File

@ -74,6 +74,10 @@ CREATE TABLE later (col1 NUMBER, col2 VARCHAR2(20)) SEGMENT CREATION DEFERRED
CREATE TABLE persons OF person_t;
CREATE TABLE persons OF person_t SUBSTITUTABLE AT ALL LEVELS;
CREATE TABLE persons OF person_t NOT SUBSTITUTABLE AT ALL LEVELS;
CREATE TABLE books (title VARCHAR2(100), author person_t);
CREATE TABLE dept_80