Oracle
 sql >> Database >  >> RDS >> Oracle

Come troncare la tabella nella procedura Oracle?

In Oracle, il comando TRUNCATE è un'istruzione DDL, quindi non è possibile eseguirlo direttamente in Oracle Procedure. Per eseguire i comandi DDL nella procedura Oracle, usa l'istruzione EXECUTE IMMEDIATE. Di seguito è riportato un esempio di troncamento di una tabella nella procedura Oracle utilizzando il comando Esegui Immediato.

Tronca tabella nell'esempio di procedura Oracle

Nella procedura Oracle memorizzata di seguito, puoi passare il nome della tabella come parametro e quindi troncherà quella tabella.

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;

Test

SET SERVEROUTPUT ON;

BEGIN
   trnct_table ('emp');
END;
/

Uscita

Table emp truncated successfully.
PL/SQL procedure successfully completed.

Nota: Non puoi eseguire il ROLLBACK dopo aver troncato una tabella in Oracle.

Vedi anche:

  • Programma PL/SQL per eliminare i record da una tabella