我正在構建一個SQL Server作業,通過鏈接服務器將數據從SQL Server中提取到Oracle數據庫中。我需要填充的表有一個名稱ID序列,這是我的主鍵。我很難找出簡單的方法,沒有一些冗長的代碼。這裏是我迄今爲止的SELECT部分(混淆了一些實際的名稱):爲多行選擇一個序列NEXTVAL
SELECT (SELECT NEXTVAL FROM OPENQUERY(MYSERVER,
'SELECT ORCL.NAME_SEQNO.NEXTVAL FROM DUAL')),
psn.BirthDate, psn.FirstName,
psn.MiddleName, psn.LastName, c.REGION_CODE
FROM Person psn
LEFT JOIN MYSERVER..ORCL.COUNTRY c ON c.COUNTRY_CODE = psn.Country
MYSERVER被鏈接的Oracle服務器,ORCL是明顯的模式。 Person是執行查詢的SQL Server數據庫上的本地表。
當我運行此查詢時,我得到了NEXTVAL的所有記錄相同的確切值。我需要的是它爲每個返回的記錄生成一個新的值。
我發現這個類似的問題,其答案,但我不能確定如何將其應用到我的情況(如果甚至有可能):Query several NEXTVAL from sequence in one statement
這個'select'查詢如何將數據傳輸到Oracle數據庫中? – Andomar
我認爲OP的意思是'從'不'進''。 –
這只是做一個簡單的插入。我沒有包含這部分代碼,因爲我不覺得這個問題是必要的。 – stringpoet