sql >> Databáze >  >> RDS >> Oracle

Jak zkrátit tabulku v postupu Oracle?

V Oracle je příkaz TRUNCATE příkazem DDL, takže jej nemůžete spustit přímo v Oracle Procedure. Chcete-li spustit příkazy DDL v proceduře Oracle, použijte příkaz EXECUTE IMMEDIATE. Níže je uveden příklad zkrácení tabulky v proceduře Oracle pomocí příkazu Execute Immediate.

Zkrácení tabulky v příkladu procedury Oracle

V níže uvedené uložené proceduře Oracle můžete předat název tabulky jako parametr a pak tuto tabulku zkrátí.

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

Výstup

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

Poznámka: Po zkrácení tabulky v Oracle nelze ROLLBACK.

Viz také:

  • Program PL/SQL pro odstranění záznamů z tabulky
  1. Jak zjistit, že nainstalovaný klient Oracle je 32bitový nebo 64bitový?

  2. BDE vs ADO v Delphi

  3. PostgreSQL schémata / jmenné prostory s Django

  4. Jak funguje ATAN2() v MariaDB