你知道你可以生成SQL腳本使用SQL? (這隻工作,如果教師在臨時和生產相同faculty_id)
這將創腳本插入新的院系:
SELECT 'INSERT INTO production.Faculty (faculty_id, name, comment)
SELECT TOP 1 '+LTRIM(faculty_id)+','''+name+''','''+comment+'''
FROM production.Faculty
WHERE NOT EXISTS (SELECT 1 FROM production.Faculty WHERE faculty_id = '+LTRIM(faculty_id)+');' AS runMeOnProduction
FROM staging.Faculty
這根腳本來更新現有院系:
SELECT 'UPDATE production.Faculty SET name = '''+name+''', comment = '''+comment+'''
WHERE faculty_id = '+LTRIM(faculty_id)+';' AS runMeOnProduction
FROM staging.Faculty
如果您在名稱或註釋字段中獲得引號,則可能需要用上面的SQL語句替換名稱和註釋:
REPLACE(name,'''','''''')
REPLACE(comment,'''','''''')
這不是最好的方法,尤其是如果您在兩種環境中都在兩個表上插入和更新。但是,如果「教師數據」只是在增加這項工作。
此外,當您運行這些SQL語句時,某些查詢軟件將顯示blob或某些十六進制,因爲它認爲該字符串要顯示很長時間,如果您複製粘貼它,它可能仍會出現正確。否則請嘗試另一個SQL查詢工具。我使用DBVisualiser來處理這種事情,它很有用。我沒有爲任何特定的數據庫查詢工具做廣告,這只是我必須經常查詢mySQL和MSSQL,所以我發現自己從應用程序跳到應用程序以完成工作。
如果在兩種環境中都有數據輸入,則應考慮使用適當的數據比較工具:http://en.wikipedia.org/wiki/Comparison_of_database_tools 一旦您開始使用這些,您的問題可能會有所不同。
這可能是古怪的想法,但我發現它方便以前...
請問什麼版本的SQL Server。 – RBarryYoung