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.
Hai bảng đã được tạo sẵn. nhanvien: id INT, ten NVARCHAR(50), luong INT. bao_cao: id_nv INT, muc_tang INT.
Số nhân viên ≤1000.
Mỗi dòng gồm id_nv và muc_tang, 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. 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
Đang tải editor...