Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để cắt bớt bảng trong thủ tục Oracle?

Trong Oracle, lệnh TRUNCATE là một câu lệnh DDL, vì vậy bạn không thể thực thi nó trực tiếp trong Thủ tục Oracle. Để thực hiện các lệnh DDL trong thủ tục Oracle, hãy sử dụng câu lệnh THỰC HIỆN NGAY LẬP TỨC. Dưới đây là một ví dụ về việc cắt bớt một bảng trong thủ tục Oracle bằng cách sử dụng lệnh Execute ngay lập tức.

Bảng cắt ngắn trong Ví dụ về thủ tục Oracle

Trong thủ tục lưu trữ Oracle bên dưới, bạn có thể chuyển tên bảng làm tham số và sau đó nó sẽ cắt bớt bảng đó.

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;

Kiểm tra

SET SERVEROUTPUT ON;

BEGIN
   trnct_table ('emp');
END;
/

Đầu ra

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

Lưu ý: Bạn không thể QUAY LẠI sau khi cắt bớt một bảng trong Oracle.

Xem thêm:

  • Chương trình PL / SQL để xóa các bản ghi khỏi bảng
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lấy dữ liệu hai cột ở định dạng A, B trong Oracle

  2. Xử lý BLOB oracle jdbc quá phức tạp

  3. Làm cách nào để chuyển đổi hiệu quả văn bản thành số trong Oracle PL / SQL với NLS_NUMERIC_CHARACTERS không mặc định?

  4. Mệnh đề SQL IN 1000 giới hạn mục

  5. Ràng buộc DUY NHẤT so với kiểm tra trước khi CHÈN