sorgery
Дата: 09.10.2003 23:39:50
На сон грядушей поставили мне задачку, чтобы наверное сны страшные снились :)
Есть табличка с полями Ключ, Дата,КодТовара,Параметр_А, Параметр_В.
в эту табличку с переодичностью 1 раз в день или ночь, а может быть и чаще заносять данные, от 100 до 1000 строк. Все бы ничего если бы не одно но, данные с той же датой и тем же КодТовар, но которые были внесены раньше должны удаляться. Первое что мне пришло в голову, это в триггере на вставку сделать запросец которые бы этим занимался. Но как мне кажеться это не будет самым лучшим решением когда в таблице будет более много тыс. строк.
Вообщем что посоветует Всезнающий олл?
Lepsik
Дата: 10.10.2003 00:47:15
может добавить поле статуса и переводить старые поля перед ставкой в состояние невидимости, а раз в день убивать. Заодно и откаты будут проще
Борян
Дата: 10.10.2003 00:54:43
Может все добавить, а потом вторым запросом найти дублирующиеся по этим полям строки и удалить те, которые с меньшим ID?
brahew
Дата: 10.10.2003 06:19:48
а если сделать обновление тех строк которые уже есть, а после вставку которых еще нет, или обязательно добавление удаление. update, insert по синтаксису простыми будут
sorgery
Дата: 10.10.2003 09:57:45
На этапе вставки строк проверить мы не можем, так как информация заливается не совсем дружественной системой по отношению к МС СКЛ, тем более что данные заливаются по тонюсенькому каналу :(
x
Дата: 10.10.2003 10:01:38
Заливать во временную табличку,
а из нее по тригеру добавление\изменение основной таблички
Deff
Дата: 10.10.2003 11:35:21
В одной транзакции
Вначале удаляешь, потом вставляешь. Элементарно.