移動索引的儲存過程

shilei1發表於2011-02-23

(1)以smngb/smngdb登入資料庫xmyj ,開啟視窗建立以下儲存過程指令碼;

create or replace procedure tmp1

is

begin

  declare CURSOR cur IS  SELECT 'alter index '||index_name||' rebuild tablespace XMYJ' FROM user_indexes T where t.table_owner='SMNGDB' and t.tablespace_name='USERS' and index_name not like 'SYS_%';

  v_str varchar2(1000);

  c number;

  BEGIN

    OPEN cur;

    c := 0;

    LOOP

       FETCH cur INTO v_str;

       EXIT WHEN cur%NOTFOUND;

       execute immediate v_str;

       COMMIT;

       c := c + 1;

       dbms_output.put_line(v_str);

    END Loop;

    CLose Cur;

  end;

end tmp1;

(2)新開啟一個視窗呼叫儲存過程執行如下指令碼:

call tmp1();

(3)           執行完成後,刪除儲存過程,執行如下指令碼:

drop procedure  smngdb.tmp1

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-687797/,如需轉載,請註明出處,否則將追究法律責任。

相關文章