Sql server 创建触发器sql server时出现错误标识\u插入

Sql server 创建触发器sql server时出现错误标识\u插入,sql-server,triggers,Sql Server,Triggers,我想创建一个触发器,它不允许在约束不满足并且显示错误符号时插入寄存器。但当我创建触发器时,sql server会告诉我: 只有在使用列列表且启用identity_INSERT时,才能为表“table”中的identity列指定显式值。 我的代码: create trigger tri1 on table for insert, update as begin declare @code1 int declare @code2 int declare @code3 varchar(

我想创建一个触发器,它不允许在约束不满足并且显示错误符号时插入寄存器。但当我创建触发器时,sql server会告诉我: 只有在使用列列表且启用identity_INSERT时,才能为表“table”中的identity列指定显式值。 我的代码:

create trigger tri1
on table
for insert, update
as
 begin
  declare @code1 int 
  declare @code2 int
  declare @code3 varchar(20)
  declare @nif varchar(12)
  declare @date datetime
  declare @cost float
  insert into table values(@code1, @code2, @code3, @nif,@date, @cost)
  if (@cost not between 10 and 100)
  begin
   RAISERROR('Error', 16, 1);
   ROLLBACK;
  end
end

那么,
sanciones
是否有标识列?。很抱歉,这是一个反问句,它确实有一个标识列,您正试图为它插入一个显式值,只需使用检查约束即可。