Bảng tailieu(id, ten, da_xoa) với cột da_xoa INT (0 = còn, 1 = đã xoá mềm).
Hãy tạo trigger trg_xoa_mem kiểu INSTEAD OF DELETE trên tailieu: thay vì xoá thật, hãy đặt da_xoa = 1 cho những dòng bị yêu cầu xoá.
Sau đó chạy DELETE FROM tailieu WHERE id <= 2; rồi in id, da_xoa của tất cả tài liệu sắp xếp theo id — chứng minh không dòng nào bị mất.
Bảng tailieu đã được tạo sẵn. Cột: id INT, ten NVARCHAR(50), da_xoa INT.
Số tài liệu ≤1000.
Mỗi dòng gồm id và da_xoa, cách nhau bởi TAB.
Bài làm phải bắt đầu bằng một dòng GO — SQL Server yêu cầu CREATE TRIGGER là lệnh đầu tiên của một batch. Với INSTEAD OF DELETE, bảng ảo deleted chứa các dòng lẽ ra bị xoá.
Ví dụ:
Đầu vào:
CREATE TABLE tailieu(id INT, ten NVARCHAR(50), da_xoa INT);
INSERT INTO tailieu(id,ten,da_xoa) VALUES (1,N'A',0),(2,N'B',0),(3,N'C',0);
Đầu ra:
1 1
2 1
3 0
Đang tải editor...