Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отслеживание изменений в колонке по одному клиенту  [new]
e.zhevak
Member

Откуда: Киев
Сообщений: 4
Добрый день уважаемые знатоки.
Есть такая задача не могу придумать как её сделать..

Существует процедура, которая добавляет и обновляет значения в таблице клиентов.

Хочется отслеживать изменения по каждой колонке.

Для того что бы это сделать необходимо как то перебросить колонки и значения с троки.


К примеру.
текущий вид;

ID; Name:Phone
1; test;38067

Новый вид.

columnName, value
Name; test
Phone; 38067


Входящие параметры будут проверяться с существующими и если они отличаются то старые значения будут записаны в таблицу истории изменений.

Заранее благодарен.
14 июн 13, 14:09    [14433810]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
e.zhevak
Добрый день уважаемые знатоки.
Есть такая задача не могу придумать как её сделать..

Существует процедура, которая добавляет и обновляет значения в таблице клиентов.

Хочется отслеживать изменения по каждой колонке.

Для того что бы это сделать необходимо как то перебросить колонки и значения с троки.


К примеру.
текущий вид;

ID; Name:Phone
1; test;38067

Новый вид.

columnName, value
Name; test
Phone; 38067


Входящие параметры будут проверяться с существующими и если они отличаются то старые значения будут записаны в таблицу истории изменений.

Заранее благодарен.

Сделать на таблице триггер. Но к вашему виду привести проблема с типами данных начнется... Вам скорее всего придётся всё приводить к строковому типу, а потом собирать сводную таблицу. А в чём суть и зачем такой вид нужен?
14 июн 13, 14:15    [14433866]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
Glory
Member

Откуда:
Сообщений: 104760
e.zhevak
Для того что бы это сделать необходимо как то перебросить колонки и значения с троки.

Если "перебросить" это добавить строку в таблицу, то это делается командой INSERT
14 июн 13, 14:16    [14433885]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
Гость333
Member

Откуда:
Сообщений: 3683
e.zhevak,

Журналирование изменений структуры БД и данных, пример 4.
14 июн 13, 14:20    [14433915]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
e.zhevak
Member

Откуда: Киев
Сообщений: 4
Гость333,

Спасибо за ссылку.
Буду читать.
14 июн 13, 14:27    [14433968]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
e.zhevak
Member

Откуда: Киев
Сообщений: 4
[url=]https://www.sql.ru/articles/mssql/2005/030701changeslogging.shtml#15[/url]

я пытаюсь сделать журнал системы вместе с изменяемыми данными.
Только я планирую наблюдать изменения по всем колонкам которые есть в таблице.
14 июн 13, 14:42    [14434106]     Ответить | Цитировать Сообщить модератору
 Re: Отслеживание изменений в колонке по одному клиенту  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
почитайте про CHANGE TRACKING и cdc
14 июн 13, 14:47    [14434151]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить