Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak przyciąć tabelę w procedurze Oracle?

W Oracle polecenie TRUNCATE jest instrukcją DDL, więc nie można jej wykonać bezpośrednio w procedurze Oracle. Aby wykonać polecenia DDL w procedurze Oracle, użyj instrukcji EXECUTE IMMEDIATE. Poniżej znajduje się przykład obcinania tabeli w procedurze Oracle za pomocą polecenia Execute Immediate.

Obetnij tabelę w przykładzie procedury Oracle

W poniższej procedurze składowanej Oracle możesz przekazać nazwę tabeli jako parametr, a następnie ta tabela zostanie obcięta.

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

Wyjście

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

Uwaga: Nie możesz ROLLBACK po obcięciu tabeli w Oracle.

Zobacz też:

  • Program PL/SQL do usuwania rekordów z tabeli
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Narzędzia programistyczne umożliwiające bezpośredni dostęp do baz danych

  2. Jak włączyć rejestrowanie dla instrukcji SQL podczas korzystania z JDBC?

  3. Czy dostawca OraOLEDB w .NET jest niewiarygodny w polach CLOB?

  4. Domyślny format daty Oracle to RRRR-MM-DD, DLACZEGO?

  5. Jak zdefiniować klucz podstawowy automatycznego przyrostu w Oracle?