2013-03-28 70 views
-1

我有不同procedure.When我編譯一個包的重複執行的PL SQL代碼,它警告編譯,但沒有errors.Here是代碼:錯誤執行字符串動態

for v_col_name in (select col_table_name from tbl_name) 
loop  
    v_execute_string := 'package.'||v_col_name (par1 ,par2); 
    execute immediate 'begin '|| v_execute_string; 'end;' 
end loop 

錯誤:

PROCEDURE abc compiled Warning: execution completed with warning

當該檢查,它顯示爲如果問題是在下面的部分:

execute immediate 'begin '|| v_execute_string; 'end;' 

任何幫助,將不勝感激。

+0

你缺少的變量,第二次硬編碼字符串之間的連接符。 – APC

回答

2

你有一個分號,它在v_execute_string和'end;'之間結束一行。

應該是execute immediate 'begin '|| v_execute_string || ' end;'

,除非v_col_name是過程太...你應該讓像前行:

v_execute_string := 'package.'||v_col_name||'(par1 ,par2)';