Я пытаюсь написать триггер для вставки, обновление кода нижекак написать триггер для вставки, обновления
ALTER TRIGGER [dbo].[tg_tbl_demographic_details_purple]
ON [dbo].[tbl_demographic_details]
FOR INSERT,update
AS
BEGIN
declare @purple_sc varchar(10),@id varchar(10),@name varchar(30)
set @purple_sc= (select Purple from tbl_demographic_details where [email protected]@IDENTITY)
if update(Purple)--purle is column name if this column is update below if loop executed
begin
if (@purple_sc > 105)
begin
set @id= (select ID from tbl_demographic_details where [email protected]@IDENTITY)
set @name= (select name from tbl_demographic_details where [email protected]@IDENTITY)
update tbl_list_purple_flag set [email protected]_sc,[email protected],[email protected] where date = CONVERT(VARCHAR(8), SYSDATETIME(), 10)
end
end
if (@purple_sc > 105)
begin
set @id= (select ID from tbl_demographic_details where [email protected]@IDENTITY)
set @name= (select name from tbl_demographic_details where [email protected]@IDENTITY)
insert into tbl_list_purple_flag (Score,Id,Name,Date) values(@purple_sc,@id,@name,CONVERT(VARCHAR(8), SYSDATETIME(), 10))
end
END
Проблема заключается в его вставке в два раза, как показано ниже
Sno Id Name Score Date
24 0107140000 sd 111 01-07-14
25 NULL NULL 111 01-07-14
Что случилось с этим?
спасибо, я попытаюсь изменить концепцию – Happy
Для триггера обновления '@@ IDENTITY' будет хуже, чем бесполезно -' UPDATE' не влияет на него. Но ваша точка по-прежнему актуальна для многострочных вставок. –