在Pl-sql块中重建分区索引

时间:2016-11-11 03:43:55

标签: oracle plsql oracle11g

我想在pl-sql块中重建/不使用分区索引。我在pl-sql块中编写了以下代码,

declare     m_ErrorMsg varchar2(100);  
begin    
execute immediate
'Alter Index TCMS.TTC_PERF_IDX01 Rebuild Partition
TMP_TRN_CUSTOMER_0;';    
EXCEPTION WHEN OTHERS THEN
  m_ErrorMsg := SUBSTR(SQLERRM(SQLCODE), 1, 200) ;      
dbms_output.put_line(m_ErrorMsg);  
end;

上面的代码给出了异常:' ORA-14010:可能没有为索引分区指定此物理属性'。

如果我在Command Promt上执行以下命令,那么它正在工作,

Alter Index TCMS.TTC_PERF_IDX01 Rebuild Partition TMP_TRN_CUSTOMER_0;

请建议我在plsql bloc中写出正确的方法。

1 个答案:

答案 0 :(得分:0)

很明显,您不能将;与execute Instant子句一起使用。 您的陈述应为:

execute immediate 'Alter Index TCMS.TTC_PERF_IDX01 Rebuild Partition TMP_TRN_CUSTOMER_0';