hế lu các anh , chị, bạn
mình có 1 yêu cầu như sau
VIẾT TRIGGER
KHÔNG CHO PHÉP NGƯỜI DÙNG NHẬP VÀO 2 VẬT TƯ CÓ TENVATTU ( TÊN VẬT TƯ) giống nhau
BẢNG VẬT TƯ
[DEAD IMAGE]
mình làm như sau
[DEAD IMAGE]
thì khi INSERT, dù TENVT đã tồn tại, hay là chưa tồn tại trong bảng VATTU, thì luôn bị lỗi ‘KHÔNG ĐƯỢC CHÈN 2 VẬT TƯ CÓ CÙNG TÊN’ nghĩa là điều kiện INSERT vào , trigger kiểm tra k hợp lệ
theo mình tìm hiểu thì tùy chọn FOR INSERT
nó sẽ chèn dữ liệu vào bảng VATTU trước rồi mới thực hiện kiểm tra điều kiện, nên luôn bị lỗi
mình chuyển sang dùng tùy chọn INSTEAD OF INSERT ( kiểm tra đk xong mới chèn )
[404]
thì k bị lôi khi chèn nữa, chèn bản ghi có đk sai thì nó báo lỗi như ý muốn,
USE KHACHHANG
GO
INSERT INTO VT(MAVT,TENVT) VALUES ('0000','XI MANG') -- (đã trung tên)
[404]
nhưng vấn đề là chèn bản ghi có đk đúng, TENVT chưa tồn tại trong bảng VATTU, nó cho phép chèn, nhưng khi chèn xong, xem dữ liệu trong bảng thì k có bản ghi vừa chèn, mặc dù sql vẫn thông báo …arow(s) affected …
USE KHACHHANG
GO
INSERT INTO VT(MAVT,TENVT) VALUES ('0000','XIMANG') -- không trùng tên
[404]
lỗi ở đâu nhỉ,mình đã refresh lại bảng như k thấy
xincamon 


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?