Я столкнулся с этой проблемой, которую пытаюсь решить: каждый день я импортирую новые записи в таблицу с идентификационным номером.
Большинство из них являются новыми (никогда не были замечены в системе ранее), но некоторые приходят снова. Что мне нужно сделать, это добавить альфа к концу идентификационного номера, если номер найден в архиве, но только если данные в строке отличаются от данных в архиве, и это нужно делать последовательно , IE, если 12345 видят во второй раз с другими данными, я изменяю его на 12345A, и если 12345 снова видится и снова отличается, мне нужно изменить его на 12345B и т. Д.
Первоначально я попытался использовать цикл where
, в котором он поместил бы все записи «увиденные снова» во временную таблицу, а затем присвоил A первый раз, затем удалил те, назначил B тому, что осталось, удалил те и т. Д. До тех пор, пока временная таблица не опустела, но это не сработало.
С другой стороны, я думал о попытке подзапросов, как в:
update table
set IDNO= (select max idno from archive) plus 1
Есть предложения?