В один прекрасный день аналитик службы поддержки клиентов просит изменить дату отчета об ошибках. В базе данных она, согласно сообщениям, представлена как 2010-01-03, но клиент, сообщивший о ней, в действительности прислал отчет по факсу неделей раньше — 2009-12-27. Дату можно было бы изменить с помощью простого оператора UPDATE:
Файл примера:.Metadata-Tribbles/anti/anomaly.sql UPDATE Bugs_2010 SET date_reported = '2009-12-27' WHERE bug_id = 1234;
Однако данное исправление делает строку недопустимой записью в таблице Bugs_2010. Потребуется удалить строку из одной таблицы и вставить ее в другую таблицу при возникновении редкого случая, когда простой оператор UPDATE вызовет данную аномалию.
Файл npuMepa:_Metadata-Tribbles/anti/synchronize.sql
INSERT INTO Bugs_2009 (bug_id, date_reported, ...) SELECT bug_id, date_reported, ... FROM Bugs_2010 WHERE bug_id = 1234;
DELETE FROM Bugs_2010 WHERE bug_id = 1234;
Опубликовал vovan666
August 02 2013 08:20:22 ·
0 Комментариев ·
2926 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.