2010-08-04 87 views
2

我一直在創建使用SSIS導入數據到臨時表的數據導入,然後使用存儲過程,用光標逐個處理數據並將信息插入到3個不同的表中。前兩個表格中的插入操作很複雜,因爲如果有一個已經存在的相同數據的記錄,則不會創建該記錄。無論在前2個表中是否插入記錄,記錄或匹配記錄的ID都會返回到第3個表中使用。有使用光標的替代方法嗎?在SQL Server 2008中使用遊標有什麼替代方法?

回答

4

沒有看到你當前的代碼是很難知道這是否是合適的,但我想看看

  1. MERGE聲明(允許「時匹配的」不同的情況下,必須指定動作,「當不匹配目標「,」當不匹配源「)和
  2. OUTPUT子句(允許您捕獲新更新的記錄進行處理)。
+0

我會試試MERGE。我從來沒有用過它。 – norlando 2010-08-04 16:55:11

0

這聽起來像是用表變量和while循環(多人已經測試和確認,幾乎總是比遊標更高性能)替換遊標的完美候選人。