Size: a a a

2020 May 18

K

Kostya in sql_ninja
Отдельной - самое лучшее решение.
Это вот как раз тот случай, елси дохера госсправочников используется в работе
источник

K

Kostya in sql_ninja
Эту базу можно высунуть хоть куда и дергать ее отовсюду
источник

AS

Alexey Shumkin in sql_ninja
Kostya
Эту базу можно высунуть хоть куда и дергать ее отовсюду
Микросервисы, йоптеть!
источник

K

Kostya in sql_ninja
Alexey Shumkin
Микросервисы, йоптеть!
источник
2020 May 19

ВЯ

Виктор Яковлев... in sql_ninja
здравствуйте. подскажите как реализовать тригер на update...
в таблице 12 колонок и после обновления нужно узнать что поменялось и занести запись в таблицу с историей в которой есть поле «действие » в котором нужно написать какие колонки изменились ( если одна то ее название и старое значение, если несколько то через запятую и их старые значения. ) и дальше клон изменяемой таблицы и вставить измененные значения.
источник

ВЯ

Виктор Яковлев... in sql_ninja
у меня такое ощущение, что это лучше делать на стороне по.
источник

o

om in sql_ninja
В триггере есть старая строка и новая строка. А дальше берёшь и сравниваешь попольно.
источник

ВЯ

Виктор Яковлев... in sql_ninja
очень много условий получится с 12 колонок😅
похоже это плохая идея делать такую подробную историю
источник

ВЯ

Виктор Яковлев... in sql_ninja
а если сделать только 12 то тригер только первый иф возьмет или дальше тоже прогонит ? если я изменю 1 и 8 колонку.
источник

ВЯ

Виктор Яковлев... in sql_ninja
и в и тоге две строки получу
источник

o

om in sql_ninja
Виктор Яковлев
очень много условий получится с 12 колонок😅
похоже это плохая идея делать такую подробную историю
copy-past сломался?
источник

o

om in sql_ninja
Виктор Яковлев
а если сделать только 12 то тригер только первый иф возьмет или дальше тоже прогонит ? если я изменю 1 и 8 колонку.
Как ты напишешь, так он и сделает.
источник

o

om in sql_ninja
Виктор Яковлев
и в и тоге две строки получу
Может пригодится темпоральные таблицы для хранения истории:
https://docs.microsoft.com/ru-ru/sql/relational-databases/tables/creating-a-system-versioned-temporal-table?view=sql-server-ver15
источник

o

om in sql_ninja
Виктор Яковлев
очень много условий получится с 12 колонок😅
похоже это плохая идея делать такую подробную историю
Ну, технически, ты можешь перебрать поля скриптом в цикле, и анализировать изменения. Если поле в новой и старой версии различаются - то конкатенировать в строку. А по итогу, если строка длиннее нуля, записать её в таблицу аудита
источник

ВЯ

Виктор Яковлев... in sql_ninja
om
Ну, технически, ты можешь перебрать поля скриптом в цикле, и анализировать изменения. Если поле в новой и старой версии различаются - то конкатенировать в строку. А по итогу, если строка длиннее нуля, записать её в таблицу аудита
вот это уже интересней) попробую реализовать
источник

o

om in sql_ninja
источник

ВЯ

Виктор Яковлев... in sql_ninja
om
Ну, технически, ты можешь перебрать поля скриптом в цикле, и анализировать изменения. Если поле в новой и старой версии различаются - то конкатенировать в строку. А по итогу, если строка длиннее нуля, записать её в таблицу аудита
цикл тут лишний. просто строчку объявил и в условиях по каждому полю проверял значения. если изменилось значение поля то в строчку добавлял запись.
источник

K

Kostya in sql_ninja
А выше что за фуу было тогда ?
источник

K

Kostya in sql_ninja
Про много полей которое
источник

DI

Dmitriy Ivanov in sql_ninja
Виктор Яковлев
здравствуйте. подскажите как реализовать тригер на update...
в таблице 12 колонок и после обновления нужно узнать что поменялось и занести запись в таблицу с историей в которой есть поле «действие » в котором нужно написать какие колонки изменились ( если одна то ее название и старое значение, если несколько то через запятую и их старые значения. ) и дальше клон изменяемой таблицы и вставить измененные значения.
есть такая штука называется cdc
источник