迴圈取值並處理示例

jss001發表於2009-02-28
Declare
tmp_char Varchar2(500) := 'aaa|bbb|ccc|ddd|';
tmp_sql Varchar(500);
tmp_str Varchar(50);
len_end Number(10);
len_begin Number(10) := 0;
Begin
dbms_output.put_line('tmp_char:' || tmp_char);
While instr(tmp_char,'|')>0
Loop
len_end := instr(tmp_char,'|') ;
tmp_str := substr(tmp_char,0,len_end-1);
tmp_sql := 'update xxx set aa=bb where cc like ('''||tmp_str||''')';
--Execute IMMEDIATE tmp_sql;
--Commit;
len_begin := len_end+1;
tmp_char := substr(tmp_char,len_begin);
dbms_output.put_line('tmp_str:' || tmp_str);
dbms_output.put_line('tmp_sql:' || tmp_sql);
dbms_output.put_line('tmp_char:' || tmp_char);
dbms_output.put_line('-------------------------------');
End Loop;
End;[@more@]

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

相關文章