0% found this document useful (0 votes)
2 views2 pages

SQL Triggers for Order Date Validation

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views2 pages

SQL Triggers for Order Date Validation

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

===============================================================================

CREATE TRIGGER nghd_hoadon_insert


ON hoadon
AFTER INSERT
AS
DECLARE @ng_muahang smalldatetime
DECLARE @ng_dangky smalldatetime
SELECT @ng_muahang=nghd, @ ng_dangky=ngdk
FROM khachhang, inserted
WHERE [Link]=[Link]
IF @ng_muahang< @ng_dangky
BEGIN
rollback transaction
print ‘ngay mua hang phai lon hon ngay dang ky’
END
===============================================================================

CREATE TRIGGER nghd_hoadon_insert


ON hoadon
AFTER INSERT
AS
IF (EXISTS (SELECT *
FROM inserted i JOIN khachhang kh ON [Link]=[Link] [Link]<[Link]))
BEGIN
rollback transaction
print ‘ngay mua hang phai lon hon ngay dang ky’
END

hoặc
IF (SELECT [Link] FROM inserted i) < (SELECT [Link] FROM
KHACHHANG kh JOIN inserted i ON [Link] = [Link])
BEGIN -- Logic xử lý lỗi END
===============================================================================

CREATE TRIGGER nghd_hoadon_update


ON hoadon
AFTER UPDATE
AS
IF (UPDATE (makh) OR UPDATE (nghd))
BEGIN
DECLARE @ng_muahang smalldatetime
DECLARE @ng_dangky smalldatetime
SELECT @ng_muahang=nghd, @ng_dangky=ngdk
FROM khachhang, inserted
WHERE [Link]=[Link]
IF @ng_muahang< @ng_dangky
BEGIN
rollback transaction
print ‘ngay mua hang phai lon hon ngay dang ky’
END
END

HOẶC:
CREATE TRIGGER nghd_hoadon_update
ON hoadon
AFTER UPDATE
AS
IF (UPDATE (makh) OR UPDATE (nghd)
BEGIN
IF (EXISTS (SELECT *
FROM inserted i JOIN khachhang kh ON [Link]=[Link] [Link]<[Link]))
BEGIN
rollback transaction
RAISERROR('Ngày mua hàng phải lớn hơn hoặc bằng ngày
đăng ký!', 16, 1);
END
END
===============================================================================

CREATE TRIGGER nghd_khachhang_update


ON KHACHHANG
AFTER UPDATE
AS
DECLARE @ng_dangky smalldatetime, @makhhang char(4)
SELECT @ng_dangky=ngdk, @makhhang=makh
FROM inserted
IF (UPDATE (ngdk))
BEGIN
IF (EXISTS (SELECT *
FROM hoadon
WHERE makh=@makhhang AND nghd<@ng_dangky)
BEGIN
rollback transaction
END
END

You might also like