RAISERROR()の構文意味は何代わりにした後、その構文の下に与えられているトリガー:私はRAISERROR('Cannot Insert where salary > 1000',16,1)
私が作成した
使用していた上記の構文で
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'の構文は、[here](http://msdn.microsoft.com/en-us/library/ms178592(v = sql.100).aspx)で説明されています。 – HABO
このトリガは壊れています。実際には 'inserted'には0,1、または* many *行が存在するのに対し、' inserted'には* single *行があると仮定しています。 –