В Oracle командата TRUNCATE е DDL израз, така че не можете да я изпълните директно в Oracle Procedure. За да изпълните DDL команди в процедурата на Oracle, използвайте израза EXECUTE IMMEDIATE. По-долу е даден пример за съкращаване на таблица в процедурата на Oracle с помощта на командата Execute Immediate.
Отрязване на таблицата в пример за процедура на Oracle
В долната съхранена процедура на Oracle можете да подадете името на таблицата като параметър и след това тя ще съкрати тази таблица.
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; Тест
SET SERVEROUTPUT ON;
BEGIN
trnct_table ('emp');
END;
/ Изход
Table emp truncated successfully. PL/SQL procedure successfully completed.
Забележка: Не можете да връщате назад след съкращаване на таблица в Oracle.
Вижте също:
- PL/SQL програма за изтриване на записите от таблица
-
Oracle Apex 5.0 – Показване на статично изображение
-
Как да проверите версията на доставчика на oracle за ole-db. Доставчик на OraOLEDB.Oracle
-
Как да принудим Pascal case с поддръжката на Entity Framework на Oracle?
-
Открийте типове на ниво пакет PL/SQL с помощта на изгледи на речника на Oracle
-
Функция LOCALTIMESTAMP() в Oracle
-
Грешки в SQL Server при импортиране на CSV файл, въпреки че varchar(MAX) се използва за всяка колона