for i in 1..5 loop dbms_output.put_line(substr(s_sql,1900*(i-1)+1,1900)); end loop;
這幾天大量的在存儲過程中拼接動態sql語句,測試的時候需要將拼接的sql顯示出來,在sqlserver中,可以方便的用print 將整個sql輸出,
但oracle中,遇到 下面這樣的提示:
ORA-06502: PL/SQL: 數字或值錯誤 : 字符串緩沖區太小 ORA-06512: 在 "SYS.DBMS_OUTPUT", line 151 ORA-06512: 在 line 2
增大變量的長度或增大dbms緩沖區的大小都不能解決問題,因此就有了最上面的解決辦法,通過切分字符串循環輸出的方式, 將過長的動態語句輸出出來。
