Dlaczego nie możemy pisać instrukcji ddl bezpośrednio w bloku PL / SQL, na przykład podczas pisania?
CREATE OR REPLACE PROCEDURE test IS
BEGIN
truncate table table_name; // error
END test;
/
Ale,
CREATE OR REPLACE PROCEDURE test IS
BEGIN
execute immediate 'truncate table table_name'; // works fine
END test;
/
Dlaczego drugi został wykonany pomyślnie?