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ạ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