Sql server SQL Server在插入错误后触发所有数据插入null
插入后我需要触发器的帮助,我插入了datagridview中的所有数据,我想在late列中填入on-duty-clock-in,但在我创建了这个触发器之后Sql server SQL Server在插入错误后触发所有数据插入null,sql-server,datagridview,Sql Server,Datagridview,插入后我需要触发器的帮助,我插入了datagridview中的所有数据,我想在late列中填入on-duty-clock-in,但在我创建了这个触发器之后 create trigger insertlate on kkpsurabaya after insert as begin declare @insertlate varchar(50) set @insertlate = (SELECT DATEDIFF(MINUTE, clock_in ,on_duty) AS Min
create trigger insertlate
on kkpsurabaya
after insert
as
begin
declare @insertlate varchar(50)
set @insertlate = (SELECT DATEDIFF(MINUTE, clock_in ,on_duty) AS MinuteDiff
FROM kkpsurabaya)
insert into kkpsurabaya(Late)
values(@insertlate)
end
当前触发器正在向表中插入其他行。看起来您想使用触发器更新
Late
列。在这种情况下,触发器应该使用插入的表连接到基表并直接更新
create trigger insertlate on kkpsurabaya
after insert
as
begin
UPDATE k
SET Late = DATEDIFF(MINUTE, i.clock_in, i.on_duty)
FROM inserted i
INNER JOIN kkpsurabaya k
ON i.pk = k.pk
end
或者,您可以创建Late
列作为计算列。您的insertlate
应该做什么?似乎您正在向表中插入另一行kkpsurabaya
此im仅使用1个表我希望在im插入时钟并在值班后自动填充延迟列。没有工作,只有klik小姐。我的意思是我希望触发器和我插入的表相同。