为什么不能直接在PL/SQL块里写ddl语句,比如我写的时候
CREATE OR REPLACE PROCEDURE test IS
BEGIN
truncate table table_name; // error
END test;
/
Run Code Online (Sandbox Code Playgroud)
但,
CREATE OR REPLACE PROCEDURE test IS
BEGIN
execute immediate 'truncate table table_name'; // works fine
END test;
/
Run Code Online (Sandbox Code Playgroud)
为什么第二个执行成功?
归档时间: |
|
查看次数: |
34739 次 |
最近记录: |