立即执行dbms_output.put_line

Dav*_*dze 2 sql oracle plsql oracle-sqldeveloper

我有这样的代码:

set serveroutput on

declare
v_str varchar2(200);
begin
v_str := q'!dbms_output.put_line('Hello world');!';
Execute immediate v_str;
end;
Run Code Online (Sandbox Code Playgroud)

Oracle SQL Developer说存在无效的SQL语句,这是什么问题?

wol*_*lφi 5

declare
v_str varchar2(200);
begin
v_str := q'!begin dbms_output.put_line('Hello world'); end;!';
Execute immediate v_str;
end;
/
Run Code Online (Sandbox Code Playgroud)

作品...

  • 基本上,答案是dbms_output是一个过程,因此只能在PL / SQL块内执行。 (4认同)