Доступ к компонентам удаленного объекта - PullRequest
0 голосов
/ 29 июня 2018

У меня есть триггер, который вставляет записи, удаленные / обновленные из таблицы A, в таблицу B. Это достигается использованием удаленного объекта на сервере sql. У меня такой вопрос. Есть ли способ, которым я могу определить, является ли действие, выполненное в таблице A, обновлением или удалено с использованием удаленного объекта на сервере sql

1 Ответ

0 голосов
/ 29 июня 2018

Вот пример ...

drop table if exists dbo.temp;
drop table if exists dbo.log;
go

create table dbo.temp(Id int, Value varchar(100));
insert dbo.temp values (1, '1'), (2, '2'), (3, '3');
go

create table dbo.log(Id int, Operation char(1));
go

create trigger trigger_temp
    on dbo.temp
    for update, delete
as begin

    insert dbo.Log
    select  i.Id , 'U'
    from    inserted i
    inner join deleted d
            on d.Id = i.Id;

    insert dbo.Log
    select  d.Id, 'D'
    from    deleted  d
    left outer join inserted i
            on i.Id = d.Id
    where   i.Id is null

end;
go

insert dbo.temp values (4, '4');
update dbo.temp set Value = '-1' where Id = 1;
delete dbo.temp where id = 2;
select * from dbo.Log
go
...