Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Vấn đề khi tạo trigger trong SQL-Server

19:13 08-01-2018 474 lượt xem 1 bình luận 10:01 09-01-2018
alter TRIGGER tg1 ON tblCTDonDH
FOR INSERT 
AS 
	BEGIN 
		IF EXISTS (SELECT *
						FROM inserted i
					    WHERE i.SoDH NOT IN (SELECT SoDH
									FROM dbo.tblDonDH)
			)
			 BEGIN 
				PRINT N'Chưa có SoDH này'
				ROLLBACK TRAN
			 END
		IF eXISTS (SELECT *
						FROM Inserted i
					    WHERE i.MaVTu NOT IN (SELECT MaVTu
									FROM dbo.tblVatTu)
			)
			 BEGIN 
				PRINT N'Chưa có MaVTu này'
				ROLLBACK TRAN
			 END
	END

Chào mọi người, cho mình hỏi với cơ sở dữ liệu như trong hình, mình tạo trigger cho bảng tblDonDH với điều kiện khóa ngoại: "SoDH phải tồn tại trong bảng tblDonDH, MaVTu phải tồn tại trong tblVatTu"
mình có tạo trigger như trong hình nhưng khi chạy thì báo lỗi "The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tblCTDonDH_tblDonDH". The conflict occurred in database "QLBH", table "dbo.tblDonDH", column 'SoDH'."
mọi người có thể chỉ cho mình sai ở chỗ nào được không ạ. Cảm ơn!

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
K9 SuperAdmin, KquizAdmin, KquizAuthor đã bình luận 10:01 09-01-2018

bạn insert thêm khóa ngoại nó bị trùng hay bị thiếu. loanh quanh thằng này: SoDH  của tblDonDH

Câu hỏi mới nhất