Создать ежедневную таблицу журналов с использованием триггеров - PullRequest
0 голосов
/ 01 марта 2019

У меня есть запрос, результаты которого хранятся в таблице.

select id, name, category, date1, count1,count2, count3
into stage
from table1 t1 join table2 t2 on t1.is =t2.id join table3 t3 on t2.id = t3.id

Результаты этого запроса должны ежедневно сохраняться в новой таблице журнала с добавленным дополнительным полем даты, который захватываетdatetime это было зарегистрировано.Как мне это создать?

1 Ответ

0 голосов
/ 01 марта 2019

Вы можете сделать это с помощью триггера, но не можете воссоздать этап таблицы, потому что каждый раз, когда вы воссоздаете его (с помощью в), вы теряете триггер.Попробуйте этот шаблон:

create table t21 (i1 int) -- source table
create table t21s (i1 int) -- stage table
create table t2log(i1 int, when1 datetime); -- log table
go
;
create trigger t_t21s on t21s after insert
as
set nocount on
insert into t2log(i1, when1)
select inserted.i1,getdate() 
    from inserted;


    insert into t21 values (5)
    -- every day or whenever you want to fill the staging table
    truncate table t21s -- every day or period
    insert into t21s (i1) -- fill up stage table without destroying trigger

    select * from t21 -- see what is in stage

    select * from t2log -- see what is in log
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...