我刚刚创建了一个相反的触发器,其语法如下:
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
在上面我使用过的语法中RAISERROR('Cannot Insert where salary > 1000',16,1)
但是当我写RAISERROR('Cannot Insert where salary > 1000')
它时,它在同一行给出了错误“')'附近的语法错误”。
谁能在这里解释一下 (16,1) 的用法。