嵌套表不服用?

时间:2012-03-16 17:40:08

标签: sql oracle10g

我一直在尝试运行以下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

3 个答案:

答案 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)

在第二个示例中,在第二列定义之后有一个逗号,紧跟在右括号后面(在下一行)。由于逗号,解析器期望另一个列或约束定义。删除它。