Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution

    Đề bài: [SQL Server] Trigger INSTEAD OF DELETE làm xoá mềm

    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.

    • Định dạng đầu vào:

      Bảng tailieu đã được tạo sẵn. Cột: id INT, ten NVARCHAR(50), da_xoa INT.

    • Ràng buộc đầu vào:

      Số tài liệu ≤1000\le 1000≤1000.

    • Định dạng đầu ra:

      Mỗi dòng gồm id và da_xoa, cách nhau bởi TAB.

    Ghi chú:

    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

    Chủ đề

    🗄️ Cơ sở dữ liệuSQL ServerSQL Server: TriggerTất cả môn học

    Đang tải editor...