169 похожих чатов

Добрый день, коллеги, хочу заюзать темпоральную таблицу для истории изменений.

Проблему вижу в том чтобы узнать кто удалил запись. На уровне приложения в доп табличку писать кто удалил?

create table t(
​ ​ ​ id int primary key identity(1,1)
​ ​ ​ , name nvarchar(100)
​ ​ ​ , usr nvarchar(100)
​ ​ ​ , Dt1 datetime2 GENERATED ALWAYS AS ROW START
​ ​ ​ , Dt2 datetime2 GENERATED ALWAYS AS ROW END
​ ​ ​ , PERIOD FOR SYSTEM_TIME (Dt1, Dt2))
​ ​ ​ with (system_versioning = on (HISTORY_TABLE = Hist.t));

insert into t(name, usr) values('One', 'User1'), ('Two', 'User1'), ('Three', 'User1');
update t set name = 'TWO', usr = 'User2' where id = 2;
delete from t where id = 1;

select * from Hist.t
select * from t

4 ответов

22 просмотра

Не совсем понял задачу , но на всякий случай посмотри про magic tables и host_name(), плюс триггеры

Grigory-Belyakov Автор вопроса
Евгений Чаптыков
Не совсем понял задачу , но на всякий случай посмо...

Да триггер тоже выход, но вдруг есть что-то готовое

Grigory Belyakov
Да триггер тоже выход, но вдруг есть что-то готово...

Извини, сообразил. Т.е. нужен ещё журнал журнала для операций DELETE?

Grigory-Belyakov Автор вопроса
Евгений Чаптыков
Извини, сообразил. Т.е. нужен ещё журнал журнала д...

Походу надо ещё одного поле добавить в таблицу - кто удалил... И тогда не надо будет корячиться с тригером, спасибо за подсказку))))

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта