2010-02-10 33 views

Trả lời

17

Từ msdn:

TRUNCATE TABLE không thể kích hoạt một kích hoạt vì hoạt động không đăng nhập xóa hàng cá nhân.

+0

Vì vậy, nếu tôi có bảng nhật ký giao dịch và muốn đăng nhập bất cứ khi nào một lệnh cắt bớt được thực hiện hoặc một số loại dữ liệu thứ cấp, cắt ngắn bất cứ khi nào một truncate được gọi là trên bản sao chính, điều này là không thể :-(Có rất nhiều lý do tại sao một kích hoạt trên TRUNCATE sẽ hữu ích, ngay cả khi không có hàng riêng lẻ có thể được cung cấp trong kích hoạt. – Alexander

9

Bạn không thể làm điều này trên máy chủ SQL.

Từ MSDN

TRUNCATE TABLE không thể kích hoạt một kích hoạt vì hoạt động không log xóa hàng cá nhân. Để biết thêm thông tin , hãy xem TẠO TRIGGER (Giao dịch-SQL).

4

Bạn có cho phép người dùng chạy TRUNCATE TABLE ad hoc/willy nilly không? Nếu không, thay vì lo lắng về việc sử dụng một trigger, tại sao không bọc lệnh TRUNCATE trong một thủ tục lưu trữ mà cũng đề cập đến bất cứ điều gì kích hoạt sẽ thực hiện sau khi truncate kết thúc? (Nhưng bạn phải làm theo thứ tự ngược lại, dĩ nhiên.)

+1

+1 cho "willy nilly "mặc dù tôi thích" nhanh nhẹn-bimbly " – swasheck

Các vấn đề liên quan