tôi vừa tạo là gì Thay vào đó Sau khi kích hoạt có cú pháp được đưa ra dưới đây:ý nghĩa cú pháp của RAISERROR()
Create trigger tgrInsteadTrigger on copytableto
Instead of Insert as
Declare @store_name varchar(30);
declare @sales int;
declare @date datetime;
select @store_name = i.store_name from inserted i
select @sales = i.sales from inserted i
select @date = i.Date from inserted i
begin
if (@sales > 1000)
begin
RAISERROR('Cannot Insert where salary > 1000',16,1); ROLLBACK;
end
else
begin
insert into copytablefrom(store_name, sales, date) values (@store_name, @sales, @date);
Print 'Instead After Trigger Executed';
end
End
Trong cú pháp trên, chúng tôi đã sử dụng RAISERROR('Cannot Insert where salary > 1000',16,1)
Nhưng khi tôi viết RAISERROR('Cannot Insert where salary > 1000')
nó đưa ra lỗi "Cú pháp không chính xác gần ')'" trên cùng một dòng.
Bất kỳ ai cũng có thể giải thích việc sử dụng (16,1) tại đây.
Cú pháp của 'RaIsError' được giải thích [ở đây] (http://msdn.microsoft.com/en-us/library/ms178592 (v = sql.100) .aspx). – HABO
Trình kích hoạt này bị hỏng - giả định rằng có một hàng * đơn * trong 'chèn', trong khi trên thực tế có thể có 0, 1 hoặc * nhiều * hàng trong' chèn'. –