sql >> Database >  >> RDS >> Oracle

Hoe tabel in Oracle-procedure af te kappen?

In Oracle is de opdracht TRUNCATE een DDL-instructie, dus u kunt deze niet rechtstreeks in Oracle Procedure uitvoeren. Gebruik de instructie EXECUTE IMMEDIATE om DDL-opdrachten in de Oracle-procedure uit te voeren. Het onderstaande is een voorbeeld van het afkappen van een tabel in de Oracle-procedure met behulp van de opdracht Direct uitvoeren.

Truncate-tabel in Oracle-procedurevoorbeeld

In de onderstaande Oracle-opgeslagen procedure kunt u de tabelnaam als parameter doorgeven, waarna deze tabel wordt afgekapt.

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;
/

Uitvoer

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

Opmerking: U kunt niet ROLLBACK na het afkappen van een tabel in Oracle.

Zie ook:

  • PL/SQL-programma om records uit een tabel te verwijderen
  1. Gebruik T-SQL en retourneer het n-de gescheiden element van een string

  2. Hoe gebruik je de WITH-clausule in MySQL?

  3. SQL Server GUID-sorteeralgoritme. Waarom?

  4. Hoe de invariante cultuur te specificeren bij het gebruik van FORMAT() in SQL Server