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 chặn dữ liệu không hợp lệ

    Bảng sinhvien(id, ten, diem).

    Hãy tạo trigger trg_chan_diem_sai kiểu INSTEAD OF INSERT trên sinhvien: chỉ cho phép chèn những dòng có diem nằm trong đoạn [0, 10], các dòng còn lại bị bỏ qua (không báo lỗi).

    Sau đó thực hiện một lệnh INSERT chèn cùng lúc ba dòng (101, N'Hop le', 8), (102, N'Qua cao', 15), (103, N'Am', -2), rồi in id và diem của tất cả sinh viên sắp xếp theo id.

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

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

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

      Số sinh viên ≤1000\le 1000≤1000.

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

      Mỗi dòng gồm id và diem, 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. INSTEAD OF nghĩa là lệnh INSERT gốc không chạy — trigger phải tự thực hiện việc chèn.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sinhvien(id INT, ten NVARCHAR(50), diem INT);
    INSERT INTO sinhvien(id,ten,diem) VALUES (1,N'An',9);

    Đầu ra:

    1	9
    101	8

    Chủ đề

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

    Đang tải editor...