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

Hvordan afkortes tabel i Oracle-proceduren?

I Oracle er TRUNCATE-kommandoen en DDL-sætning, så du kan ikke udføre den direkte i Oracle-proceduren. For at udføre DDL-kommandoer i Oracle-proceduren skal du bruge EXECUTE IMMEDIATE-sætningen. Nedenstående er et eksempel på trunkering af en tabel i Oracle-proceduren ved hjælp af Execute Immediate-kommandoen.

Trunker tabel i Oracle-procedureeksempel

I nedenstående Oracle-lagrede procedure kan du videregive tabelnavnet som en parameter, og så vil den afkorte tabellen.

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

Output

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

Bemærk: Du kan ikke RULLE TILBAGE efter at have trunkeret en tabel i Oracle.

Se også:

  • PL/SQL-program til at slette posterne fra en tabel
  1. Sådan får du den aktuelle tid (uden tidszone) i PostgreSQL

  2. Hvordan kaldes et felt eller kolonne i MySQL?

  3. Alibaba Cloud

  4. Få de sidste N rækker i databasen i orden?