В таблице Target находится столбец PK usr_cd
, который не существует в исходной таблице. Следовательно, при вставке из Source to Target я хочу создать уникальный код. Как я могу достичь этого, когда я использую оператор MERGE
?Как создать уникальный код в INSERT внутри MERGE?
Эти опции судимым без везения: объект
- Последовательность: Невозможно использовать внутри
MERGE
. - SP вызов: невозможно выполнить SP внутри
MERGE
вINSERT
. - Вызов функции: не поможет, поскольку я не могу использовать объект последовательности внутри UDF. Кроме того, если я храню уникальное значение в таблице, я не буду обновлять внутри UDF.
- Добавление кода в исходную таблицу: не может использоваться, поскольку некоторые записи будут обновлены, а некоторые будут вставлены, следовательно, он сломает последовательность.
Добавление таблицы по умолчанию в Target является одним из вариантов, но я хочу этого избежать.
Дайте мне знать, если есть какой-либо другой способ достижения этого при использовании MERGE
.
Я не понимаю. Почему бы просто не использовать столбец идентификатора? Это лучшее решение подобных проблем. –
@ ZoharPeled Я не могу использовать идентификатор, поскольку мне нужно отслеживать эти вставленные записи отдельно. –