powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Поиск: Искать ответы на сообщение: #158983  
9 сообщений из 9, страница 1 из 1
SQL / Задача для срача
    #158983
Antonariy
Скрыть профиль Поместить в игнор-лист
Участник
Doublekey  22.09.2022, 07:39
[игнорируется]
Задачка в аттаче. На мой взгляд весьма неоднозначная.
тестовое задание (1).sql
я бы добавил 3й вопрос на совсем засыпку: нахуя в задании первая таблица?
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #158988
Горбатый ёж
Скрыть профиль Поместить в игнор-лист
Участник
Antonariy  22.09.2022, 08:14
[игнорируется]
я бы добавил 3й вопрос на совсем засыпку: нахуя в задании первая таблица?
Для примера она, типа она для логирования.
Но вопрос конечно интересный, ибо эту таблицу логируем, а триггер на абстрактной таблице висит.
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #158991
Antonariy
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  22.09.2022, 08:17
[игнорируется]
Antonariy  22.09.2022, 08:14
[игнорируется]
я бы добавил 3й вопрос на совсем засыпку: нахуя в задании первая таблица?
Для примера она, типа она для логирования.
Но вопрос конечно интересный, ибо эту таблицу логируем, а триггер на абстрактной таблице висит.
а может это ответ на второй вопрос? в триггере нужно поменять SomeAbstractTable на TablesForLogging!
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #158992
Горбатый ёж
Скрыть профиль Поместить в игнор-лист
Участник
Antonariy  22.09.2022, 08:21
[игнорируется]
а может это ответ на второй вопрос? в триггере нужно поменять SomeAbstractTable на TablesForLogging!
Возможно.
Помимо вопроса к 1 таблице у меня ещё вопрос, действительно ли данные в логируемую таблицу только вставляются и удаляются, или нас просто не интересует апдейт.
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #158994
Antonariy
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  22.09.2022, 08:22
[игнорируется]
Antonariy  22.09.2022, 08:21
[игнорируется]
а может это ответ на второй вопрос? в триггере нужно поменять SomeAbstractTable на TablesForLogging!
Возможно.
Помимо вопроса к 1 таблице у меня ещё вопрос, действительно ли данные в логируемую таблицу только вставляются и удаляются, или нас просто не интересует апдейт.
или нужно добавить в триггер проверку, что SomeAbstractTable есть в конфигах. может триггер узнать имя таблицы, на которой висит?
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #158998
Antonariy
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  22.09.2022, 08:22
[игнорируется]
действительно ли данные в логируемую таблицу только вставляются и удаляются, или нас просто не интересует апдейт.
чего это не интересует? AFTER DELETE,UPDATE,INSERT

а inserted называется одинаково и для обновления и для вставки.

этот нюанс нужно учесть в процедуре восстановления - проверить, что в целевой таблице есть запись с id и если есть, обновить данными из лога, или вставить.
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #159000
Горбатый ёж
Скрыть профиль Поместить в игнор-лист
Участник
Antonariy  22.09.2022, 08:28
[игнорируется]
inserted называется одинаково и для обновления и для вставки.

этот нюанс нужно учесть в процедуре восстановления - проверить, что в целевой таблице есть запись с id и если есть, обновить данными из лога, или вставить.
Откат инсёрта - это удаление.
И если у тебя запись есть, то её надо удалить.
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #159002
Горбатый ёж
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  22.09.2022, 08:32
[игнорируется]
Antonariy  22.09.2022, 08:28
[игнорируется]
inserted называется одинаково и для обновления и для вставки.

этот нюанс нужно учесть в процедуре восстановления - проверить, что в целевой таблице есть запись с id и если есть, обновить данными из лога, или вставить.
Откат инсёрта - это удаление.
И если у тебя запись есть, то её надо удалить.
Тогда получается, что надо искать более раннюю запись среди инсёртов, если она есть, то это изменение и данные восстанавливать из более ранней записи.
...
Рейтинг: 0 / 0
SQL / Задача для срача
    #159014
Antonariy
Скрыть профиль Поместить в игнор-лист
Участник
Горбатый ёж  22.09.2022, 08:34
[игнорируется]
Горбатый ёж  22.09.2022, 08:32
[игнорируется]
Antonariy  22.09.2022, 08:28
[игнорируется]
inserted называется одинаково и для обновления и для вставки.

этот нюанс нужно учесть в процедуре восстановления - проверить, что в целевой таблице есть запись с id и если есть, обновить данными из лога, или вставить.
Откат инсёрта - это удаление.
И если у тебя запись есть, то её надо удалить.
Тогда получается, что надо искать более раннюю запись среди инсёртов, если она есть, то это изменение и данные восстанавливать из более ранней записи.
Логично
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Поиск: Искать ответы на сообщение: #158983  
Пользователи онлайн (57): Анонимы (53), Yandex Bot, Tosh 1 мин., Sparrow 4 мин., Bing Bot 7 мин.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]