Sql Oracle d/b创建索引错误
在sql developer中运行时,我发现下面的sql缺少表达式(尽管我相信它与oracle客户端无关),尽管一切似乎都正常Sql Oracle d/b创建索引错误,sql,oracle,oracle10g,oracle-sqldeveloper,Sql,Oracle,Oracle10g,Oracle Sqldeveloper,在sql developer中运行时,我发现下面的sql缺少表达式(尽管我相信它与oracle客户端无关),尽管一切似乎都正常 CREATE UNIQUE INDEX "CRIS2"."SYS_IL0000296692C00014$$" ON "CRIS2"."AOITARGETPOINT" ( PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS
CREATE UNIQUE INDEX "CRIS2"."SYS_IL0000296692C00014$$" ON "CRIS2"."AOITARGETPOINT" (
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "BIOSIRTDATA"
PARALLEL (DEGREE 0 INSTANCES 0) ;
--------------------------------------------------
Error starting at line 1 in command:
CREATE UNIQUE INDEX "CRIS2"."SYS_IL0000296692C00014$$" ON "CRIS2"."AOITARGETPOINT" (
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "BIOSIRTDATA"
PARALLEL (DEGREE 0 INSTANCES 0)
Error at Command Line:2 Column:2
Error report:
SQL Error: ORA-00936: missing expression
00936. 00000 - "missing expression"
*Cause:
*Action:
有什么帮助吗?您在CREATE INDEX语句中缺少列列表
CREATE UNIQUE INDEX "CRIS2"."SYS_IL0000296692C00014$$" ON "CRIS2"."AOITARGETPOINT"
(-->Field List<--)
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "BIOSIRTDATA"
PARALLEL (DEGREE 0 INSTANCES 0) ;
在“CRIS2”“AOITARGETPOINT”上创建唯一索引“CRIS2”“SYS_IL000029669C00014$$”
(->字段列表正如Michael Pakhantsov所提到的,缺少字段列表显然是最大的问题。但是这句话还有其他一些问题
您可能希望为索引指定一个实名,而不是使用系统生成的名称。这可能只是一个样式问题,但如果您创建的对象以SYS开头,则可能会造成混淆。(或者是否有其他对象名称与此冲突?我不确定Oracle是如何命名的。)
PARALLEL(DEGREE 0 INSTANCES 0);
是Oracle 7中的PARALLEL子句语法。警告“PARALLEL_子句的语法取代了Oracle早期版本中出现的语法。被取代的语法仍然支持向后兼容,但可能会导致与所记录的行为略有不同。”在我的测试中,我没有发现这个语法有任何问题,但是如果可能的话,你还是应该避免它。嗨,Michael,谢谢你的建议。现在可以了。很抱歉反应太晚。非常感谢你的建议Jonearles