Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle d/b创建索引错误_Sql_Oracle_Oracle10g_Oracle Sqldeveloper - Fatal编程技术网

Sql Oracle d/b创建索引错误

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

在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 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