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

    Đề bài: [SQL Server] Trigger phát hiện nhân viên được tăng lương

    Hai bảng nhanvien(id, ten, luong) và bao_cao(id_nv, muc_tang).

    Hãy tạo trigger trg_tang_luong kiểu AFTER UPDATE trên nhanvien: chỉ ghi vào bao_cao những nhân viên có lương tăng (lương mới lớn hơn lương cũ), với muc_tang = lương mới − lương cũ.

    Sau đó chạy lệnh UPDATE nhanvien SET luong = luong + 100 WHERE luong < 2000; rồi in id_nv và muc_tang sắp xếp theo id_nv.

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

      Hai bảng đã được tạo sẵn. nhanvien: id INT, ten NVARCHAR(50), luong INT. bao_cao: id_nv INT, muc_tang INT.

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

      Số nhân viên ≤1000\le 1000≤1000.

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

      Mỗi dòng gồm id_nv và muc_tang, 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. Phải JOIN inserted với deleted và lọc điều kiện tăng.

    Ví dụ:

    Đầu vào:

    CREATE TABLE nhanvien(id INT, ten NVARCHAR(50), luong INT);
    CREATE TABLE bao_cao(id_nv INT, muc_tang INT);
    INSERT INTO nhanvien(id,ten,luong) VALUES (1,N'An',1000),(2,N'Binh',3000),(3,N'Cuong',1999);

    Đầu ra:

    1	100
    3	100

    Chủ đề

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

    Đang tải editor...