在目標表中有一個PK列usr_cd
,它不存在於源表中。因此,從源插入目標時,我想生成一個唯一的代碼。當我使用MERGE
聲明時,如何實現此目的?如何在MERGE內的INSERT中生成唯一代碼?
以下選項都試過了沒有運氣:
- Sequence對象:內
MERGE
不能使用。 - SP調用:無法在
INSERT
的MERGE
內執行SP。 - 函數調用:沒有幫助,因爲我不能在UDF中使用序列對象。另外如果我在表中存儲一個唯一的值,我將無法在UDF內更新。
- 在源表中添加代碼:不能使用,因爲有些記錄會被更新,有些會被插入,因此會破壞序列。
將默認添加到目標表是一種選擇,但我想避免這種情況。
讓我知道在使用MERGE
時是否有其他方法來實現此目的。
我不明白。爲什麼不簡單使用標識列?這是解決這類問題的最佳解決方案。 –
@ZoharPeled我不能使用身份,因爲我需要分別跟蹤這些插入的記錄。 –