-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQLbenhvienTrigger.sql
51 lines (40 loc) · 973 Bytes
/
QLbenhvienTrigger.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
SELECT * FROM BENHNHAN
SELECT * FROM BENHVIEN
SELECT * FROM KHOAKHAM
ALTER PROC TINHTONG(@MAKHOA CHAR(10), @TONG MONEY OUT)
AS
BEGIN
IF (NOT EXISTS(SELECT * FROM KHOAKHAM WHERE MAKHOA = @MAKHOA))
PRINT(@MAKHOA + 'KHONG TON TAI')
ELSE
SELECT @TONG = SUM(SONGAYNV) * 80000
FROM BENHNHAN
WHERE MAKHOA = @MAKHOA
GROUP BY MAKHOA
END
DECLARE @TONG1 MONEY
EXEC TINHTONG 'HS', @TONG1 OUT
PRINT @TONG1
ALTER TRIGGER CAU4 ON BENHNHAN
FOR INSERT
AS
BEGIN
DECLARE @SOBN INT
SELECT @SOBN = KHOAKHAM.SOBENHNHAN
FROM KHOAKHAM INNER JOIN INSERTED
ON INSERTED.MAKHOA = KHOAKHAM.MAKHOA
IF @SOBN > 200
BEGIN
RAISERROR('LOI', 16, 1)
ROLLBACK TRANSACTION
END
ELSE
UPDATE KHOAKHAM SET SOBENHNHAN = KHOAKHAM.SOBENHNHAN +1
FROM KHOAKHAM INNER JOIN INSERTED
ON KHOAKHAM.MAKHOA = inserted.MAKHOA
END
INSERT INTO BENHNHAN VALUES
('BN10', N'TRẦN DẦN1', '1/22/2000', 0, 25, 'TM')
SELECT * FROM BENHNHAN
SELECT * FROM BENHVIEN
SELECT * FROM KHOAKHAM