CREATE OR REPLACE PROCEDURE proc_name AS
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE SQL2005TEST.ABSENCEFULLDATADIFF_YESTERDAY';
.....
EXECUTE IMMEDIATE 'CREATE TABLE SQL2005TEST.ABSENCELATESTEND_YESTERDAY
AS SELECT * FROM SQL2005TEST.ABSENCELATESTEND';
....
....
EXCEPTION
....
....
END;
EXECUTE IMMEDIATE
pernyataan mengeksekusi pernyataan SQL dinamis atau blok PL/SQL anonim, di dalam blok PL/SQL, atau Prosedur Tersimpan, atau Paket. Ini lebih khusus digunakan jika Anda perlu menjalankan pernyataan DDL seperti DROP
, CREATE TABLE
dll. Anda tidak dapat menjalankan perintah DDL dari PL/SQL sebagai pernyataan DML, jadi satu-satunya cara adalah SQL dinamis. Info lebih lanjut di sini
dan di sini
.