PL / SQL 블록에 직접 ddl 문을 쓸 수없는 이유는 무엇입니까?
CREATE OR REPLACE PROCEDURE test IS
BEGIN
truncate table table_name; // error
END test;
/
그러나,
CREATE OR REPLACE PROCEDURE test IS
BEGIN
execute immediate 'truncate table table_name'; // works fine
END test;
/
왜 두 번째가 성공적으로 실행 되었습니까?
이 블로그 게시물, Oracle은 절차 내에서 DDL 문을 허용하지 않습니다 .
—
Rajesh Sarkar