****************************************
用SQL命令实现存储过程的写法
****************************************
DECLARE
v_sql VARCHAR2(4000);
BEGIN
FOR r2 IN (SELECT *
FROM user_indexes a
WHERE a.tablespace_name <> 'DMP_IDX') LOOP
BEGIN
v_sql := 'ALTER index ' || r2.index_name ||
' rebuild TABLESPACE DMP_IDX';
EXECUTE IMMEDIATE v_sql;
dbms_output.put_line('Successful! TABLE:'||R2.TABLE_NAME||' INDEX:'||r2.index_name);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
dbms_output.put_line('TABLE:'||R2.TABLE_NAME||' INDEX:'||r2.index_name);
END;
END LOOP;
END;
/