01/10/2018, 17:29 
               
            Lỗi khi dùng trigger
Em có 1 cơ sở dữ liệu chỉ có 1 bảng SinhVien gồm MaSV, TenSV, Toan. Em viết trigger để cho phép điểm toán chỉ có thể nhận giá trị 0 đến 10 khi insert, update nhưng không biết sai ở đâu mong mọi người sửa giúp.
create trigger test on SinhVien
for insert , update
as
begin
	declare @masv nvarchar(5), @toan float
	select @masv = masv, @toan = toan from inserted
	update SinhVien set toan = @toan where masv = @masv and (@toan between 0 and 10)
end
            
            Bài liên quan
         
               
            




Nó sai khi bạn làm gì? Chèn, cập nhật, hay tự nó làm sai luôn?
Thế là thế nào? Nếu muốn toán nằm trong 0 - 10 thì phải xét (if - else) điểm toán trước chứ. Nếu thỏa đk thì chèn…
Nó sai khi khi em chèn hoặc update. Khi em chèn hoặc update thì nhập bất cứ giá trị nào nó cũng nhận kể cả > 10 hoặc < 0.
Em nghĩ câu lệnh update nó phải thỏa mãn điều kiện ở where thì mới update chứ như vậy thì không cần phải dùng if else