Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! Хочу написать триггер, который будет писать в лог историю изменений некой таблицы свободной структуры. Такое возможно? Насколько помню, в функцию UPDATE передаётся фиксированнное имя поля. Есть ещё функция COLUMNS_UPDATED(), но там по битам разбирать нужно. Есть ли смысл браться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:07 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatorДобрый вечер! Хочу написать триггер, который будет писать в лог историю изменений некой таблицы свободной структуры. Такое возможно? Насколько помню, в функцию UPDATE передаётся фиксированнное имя поля. Есть ещё функция COLUMNS_UPDATED(), но там по битам разбирать нужно. Есть ли смысл браться?Забудьте о UPDATE() и COLUMNS_UPDATED(). Они работают совсем не так, как вы думаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2019, 21:51 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
Почему не https://docs.microsoft.com/ru-ru/sql/relational-databases/tables/temporal-tables?view=sql-server-2017 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 00:46 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
Андрей ЮниорПочему не https://docs.microsoft.com/ru-ru/sql/relational-databases/tables/temporal-tables?view=sql-server-2017 ? Это, конечно, интересно, только чем inserted.* и deleted.* хуже ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 06:31 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatorЭто, конечно, интересно, только чем inserted.* и deleted.* хуже ? Отсутствием необходимости вручную делать логи и синтаксисом запросов: появляется возможность использоваться FOR SYSTEM_TIME. Но вместе с тем будет вагон и маленькая тележка ограничений, но это другой вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 09:16 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
Андрей ЮниорdefragmentatorЭто, конечно, интересно, только чем inserted.* и deleted.* хуже ? Отсутствием необходимости вручную делать логи и синтаксисом запросов: появляется возможность использоваться FOR SYSTEM_TIME. Но вместе с тем будет вагон и маленькая тележка ограничений, но это другой вопрос Таблицу (которую нужно логировать) всё равно приходится делать. Соответственно, не вижу проблем сделать и таблицу логов. Использовать temporal tables для логирования ИМХО слишком избыточно. Вместо хранения логов в отдельной таблице логов, они будут лежать в той же рабочей таблице. Зачем, если логи нужны раз в год, для разработчика или администратора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 09:29 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
alexeyvgАндрей Юниорпропущено... Отсутствием необходимости вручную делать логи и синтаксисом запросов: появляется возможность использоваться FOR SYSTEM_TIME. Но вместе с тем будет вагон и маленькая тележка ограничений, но это другой вопрос Таблицу (которую нужно логировать) всё равно приходится делать. Соответственно, не вижу проблем сделать и таблицу логов. Использовать temporal tables для логирования ИМХО слишком избыточно. Вместо хранения логов в отдельной таблице логов, они будут лежать в той же рабочей таблице. Зачем, если логи нужны раз в год, для разработчика или администратора? Вообще, таблица версий в темпорал тейблс - это отдельная таблица. Её вообще можно создать вручную, в своей файловой группе и со своим набором индексов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 10:39 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatorХочу написать триггер, который будет писать в лог историю изменений некой таблицы свободной структуры. "таблицы свободной структуры" означает, что по понедельникам, - в неё будут добавлять поля, а по пятницам - дропать ? :)) Есть такая партия такой триггер ! :) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 10:56 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
msLexalexeyvgВместо хранения логов в отдельной таблице логов, они будут лежать в той же рабочей таблице. Зачем, если логи нужны раз в год, для разработчика или администратора? Вообще, таблица версий в темпорал тейблс - это отдельная таблица. Её вообще можно создать вручную, в своей файловой группе и со своим набором индексов.Ой, действительно, ошибся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 11:07 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
court, Да, вроде б ничего. Но это надо быть спецом по обработке XML, а я только простейшие примеры знаю. Короче, появилась мысль вытащить курсором список полей в таблице и через EXECUTE по одному сравнивать их старое и новое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 21:03 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatorДа, вроде б ничего. Но это надо быть спецом по обработке XML, а я только простейшие примеры знаю.Так вам court дал готовый код универсального триггера, даже разбираться не надо. Тем более, что работу с XML в сиквеле всё равно полезно будет освоить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 21:13 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
alexeyvgготовый код универсального триггера, даже разбираться не надо. не тождественно alexeyvgвсё равно полезно будет освоить. Сорри за подковырку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2019, 23:45 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatoralexeyvgготовый код универсального триггера, даже разбираться не надо. не тождественно alexeyvgвсё равно полезно будет освоить. Сорри за подковырку.Ну, вы можете просто вставить, с минимальными усилиями, по методологии разработки "паст-копи из интернета". А можете и поразбираться, если захотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2019, 00:22 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
defragmentatorДобрый вечер! Хочу написать триггер, который будет писать в лог историю изменений некой таблицы свободной структуры. Такое возможно? Насколько помню, в функцию UPDATE передаётся фиксированнное имя поля. Есть ещё функция COLUMNS_UPDATED(), но там по битам разбирать нужно. Есть ли смысл браться? таблица "свободной структуры"? девушка "свободной профессии". вы собрались логгировать изменение структуры таблицы или данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2019, 10:49 |
|
||
|
Запись истории изменнеий в лог
|
|||
|---|---|---|---|
|
#18+
iapdefragmentatorДобрый вечер! Хочу написать триггер, который будет писать в лог историю изменений некой таблицы свободной структуры. Такое возможно? Насколько помню, в функцию UPDATE передаётся фиксированнное имя поля. Есть ещё функция COLUMNS_UPDATED(), но там по битам разбирать нужно. Есть ли смысл браться?Забудьте о UPDATE() и COLUMNS_UPDATED(). Они работают совсем не так, как вы думаете.UPDATE() возвращает TRUE, если указанное поле есть в списке SET команды UPDATE, вызвавшей данный триггер, независимо от изменения значения поля. Тем более, что строк в inserted/deleted может быть много, а измениться могут не все. Кроме того, триггер запускается и в отсутствие каких-либо изменений. То же самое касается и функции COLUMNS_UPDATED(). Можно ещё ознакомиться со статьёй Журналирование изменений структуры БД и данных Правда, она написана, когда только вышел SQL2005. Но всё равно полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2019, 15:04 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39884526&tid=1687017]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 488ms |

| 0 / 0 |
