Oracle使用DBMS_SQL.Parse创建索引

时间:2016-10-19 06:39:34

标签: oracle indexing oracle-sqldeveloper oracle12c

我正在尝试创建如下所示的索引:

DECLARE l_cursor NUMBER;
  l_return NUMBER;
  v_stmt CLOB;
BEGIN
  v_stmt:= TO_CLOB('CREATE INDEX IX_Job ON "JOBSTEP"("JOBID") TABLESPACE "USERS";');
  l_cursor  := DBMS_SQL.open_cursor;
  DBMS_SQL.parse(l_cursor, v_stmt, DBMS_SQL.NATIVE);
  DBMS_SQL.CLOSE_CURSOR(l_cursor);  
END;

请在执行时找到以下错误:

  

ORA-02158:无效的CREATE INDEX选项

     

ORA-06512:at“SYS.DBMS_SQL”,第1185行ORA-06512:第7行   02158. 00000 - “CREATE INDEX选项无效”   *原因:COMPRESS,NOCOMPRESS,PCTFREE,INITRANS以外的选项,              MAXTRANS,STORAGE,TABLESPACE,PARALLEL,NOPARALLEL,RECOVERABLE,              指定了UNRECOVERABLE,LOGGING,NOLOGGING,LOCAL或GLOBAL。   *操作:选择一个有效的CREATE INDEX选项。

如果我像这样执行CREATE INDEX IX_Job ON "JOBSTEP"("JOBID") TABLESPACE "USERS";,则会创建索引。

使用Oracle 12c,我使用sql developer尝试了所有这些。 请有人帮我解决这个问题。我的代码有什么问题吗?

0 个答案:

没有答案