Триггер для вставки таблицы - PullRequest
0 голосов
/ 30 апреля 2010

У меня SQL Server 2005 и мне нужно создать триггер для запроса вставки.

У меня есть Таблица naemd как «Журнал» со столбцом с именем UserID, UserName, LogDate, LogTime и я хочу перенести данные в другую таблицу с именем «DataTable» с тем же именем столбца.

Я создал триггер

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TRIGGER [dbo].[Transfer] on [dbo].[Log]
AFTER INSERT
AS
BEGIN

insert into DataTable (UserID,UserName,LogDate,LogTime)

SELECT UserID,UserName,LogDate,LogTime 
FROM Log where UserID not in(select UserID from DataTable)

END

Новые данные обновляются ежедневно в таблице «Журнал», поэтому я хочу перенести новые данные из таблицы журнала в таблицу данных с помощью триггера. Время выполнения очень велико и поэтому не выводится.

Ответы [ 2 ]

2 голосов
/ 30 апреля 2010

у вас есть «вставленная» таблица в триггер, поэтому вы можете вставить данные из нее

insert into DataTable (UserID, UserName, LogDate, LogTime)
select UserID, UserName, LogDate, LogTime 
from inserted
0 голосов
/ 30 апреля 2010

В вашем определении триггера вы должны использовать таблицу inserted, которая содержит все строки, добавленные в таблицу журнала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...