2011-10-31 42 views
1

我有一對數據庫,一個是實時數據庫,另一個是用於測試該活動數據庫的配置。兩者都駐留在同一臺服務器上。我有三個表,用戶(PK UserId,FK MainGroupId)和組(PK GroupId)和組成員(PK GroupMemberId,FK GroupId和UserId)。我有三個表,用戶(PK UserId,FK MainGroupId)和組(PK GroupId)和組成員(PK組成員ID,FK GroupId和UserId)。更新並插入批量移動(SQL Server)

這兩個表在兩個數據庫上都是相同的模式,但測試數據庫有一組特殊的測試用戶。組大體上是穩定的,但有時我們會添加組,有時我們會更改組中的列數據。 GroupMembers是相同的,但在測試數據庫中是指測試用戶。

我需要能夠以編程方式從實時更新測試用戶的組表。我想要使​​用批量複製操作,但要這樣做我必須首先刪除組表,這會導致違反約束。

我可以將表格批量複製到一個虛擬表格,然後通過插入新行來發布過程,並在現有行上進行更新。但是,我的問題是,有大約30個表(如Groups),我不想將所有列名都編碼到UPDATE SET方法中的存儲過程中。我也希望能夠散裝做到這一點。

數據庫管理員對授予ALTER TABLE權限以臨時刪除約束存疑。

任何其他建議?

回答

2

即使兩個數據庫都在同一臺服務器上,爲什麼不使用MERGE語句?

+0

這將是因爲我從來沒有聽說過合併聲明!感謝教育我,這是一個很大的幫助。 –

0

選擇出口和進口。如果按照正確的順序進行操作,它應該可以正常工作。