我一直在尝试运行以下SQL,但它不起作用,我错过了一些明显的或明白错误的东西?
SQL> CREATE OR REPLACE TABLE ACTOR_QUOTES(
2 ACTORID CHAR(5),
3 QUOTES AQ_NT
4 ) NESTED TABLE QUOTES STORE AS ACTOR_QUOTES_NT
5 /
CREATE OR REPLACE TABLE ACTOR_QUOTES(
*
ERROR at line 1:
ORA-00922: missing or invalid option
SQL> CREATE TABLE ACTOR_QUOTES(
2 ACTORID CHAR (5),
3 QUOTES AQ_NT,
4 ) NESTED TABLE QUOTES STORE AS ACTOR_QUOTES_NT
5 /
) NESTED TABLE QUOTES STORE AS ACTOR_QUOTES_NT
*
ERROR at line 4:
ORA-00904: : invalid identifier
答案 0 :(得分:3)
首先,Oracle中没有CREATE OR REPLACE TABLE
。您必须使用CREATE TABLE
。 replace选项仅适用于视图,包,过程等。
另外,不确定为什么在表格中的每个列名之前都有数字(例如2 ACTORID CHAR(5))。他们不应该在那里。
答案 1 :(得分:1)
CREATE OR REPLACE对表不起作用。你的字段名称也应该是“NESTED TABLE QUOTES”,尽管理想情况下我会选择nested_table_quotes。
答案 2 :(得分:0)
在第二个示例中,在第二列定义之后有一个逗号,紧跟在右括号后面(在下一行)。由于逗号,解析器期望另一个列或约束定义。删除它。