我有這樣的代碼:立即執行DBMS_OUTPUT.PUT_LINE
set serveroutput on
declare
v_str varchar2(200);
begin
v_str := q'!dbms_output.put_line('Hello world');!';
Execute immediate v_str;
end;
Oracle SQL Developer中說,有無效的SQL語句,有什麼問題呢?
我有這樣的代碼:立即執行DBMS_OUTPUT.PUT_LINE
set serveroutput on
declare
v_str varchar2(200);
begin
v_str := q'!dbms_output.put_line('Hello world');!';
Execute immediate v_str;
end;
Oracle SQL Developer中說,有無效的SQL語句,有什麼問題呢?
declare
v_str varchar2(200);
begin
v_str := q'!begin dbms_output.put_line('Hello world'); end;!';
Execute immediate v_str;
end;
/
作品...
基本上,答案是'dbms_output'是一個過程,因此只能在PL/SQL塊中執行。 – Ben
@Ben - 真的是對你刪除的答案發表評論的回覆,但在這裏仍然相關; 'q'語法位於[text literals]下的文檔中(http://docs.oracle.com/cd/E14072_01/server.112/e10592/sql_elements003.htm#i42617)。 –
使用'顯示err'對錯誤打印的細節。 – kmkaplan
爲什麼需要使用動態PL/SQL調用dbms_output是否有特殊原因? –