Di Oracle, perintah TRUNCATE adalah pernyataan DDL, jadi Anda tidak dapat mengeksekusinya secara langsung di Oracle Procedure. Untuk menjalankan perintah DDL dalam prosedur Oracle, gunakan pernyataan EXECUTE IMMEDIATE. Di bawah ini adalah contoh pemotongan tabel dalam prosedur Oracle menggunakan perintah Execute Immediate.
Memotong Tabel dalam Contoh Prosedur Oracle
Dalam prosedur tersimpan Oracle di bawah ini, Anda dapat meneruskan nama tabel sebagai parameter dan kemudian akan memotong tabel tersebut.
CREATE OR REPLACE PROCEDURE trnct_table (i_table_name IN VARCHAR2) IS BEGIN EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || i_table_name; DBMS_OUTPUT.put_line ( 'Table ' || i_table_name || ' truncated successfully.'); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line ('Truncate table failed.'); END;
Uji
SET SERVEROUTPUT ON; BEGIN trnct_table ('emp'); END; /
Keluaran
Table emp truncated successfully. PL/SQL procedure successfully completed.
Catatan: Anda tidak dapat ROLLBACK setelah memotong tabel di Oracle.
Lihat juga:
- Program PL/SQL untuk Menghapus Record dari Tabel