我遇到的情況,我們有不同的數據庫爲每個用戶是否可以在MSSQL中動態切換數據庫?
eg: user1 = userDB1 (database name)
user2 = userDB2 (database name)
..
userN = userDBN
在我的代碼我有一個查詢這樣的事情。
select * from user1.product;
select * from user2.product;
所以我必須派生&在激發此查詢之前更改db名稱。
我想知道如果我能做到在MS-SQL服務器端的一些變化,在這裏我要恰到好處查詢
select * from user.product;
,使用戶將USER1被替換或USER2只是開始前交易。有沒有任何機制可用的數據庫端,我可以用來切換數據庫名稱之前發射查詢。
由於有很多複雜的查詢,我已經去改變每個很痛苦的查詢。
注 - 所有這些數據庫都在同一個SQL服務器上。
謝謝您提前!
創建與執行正確的用戶提供正確的數據庫的正確查詢的通用程序的數據庫用戶。 –
您可以使用[動態sql](https://msdn.microsoft.com/en-us/library/ms709342%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396)或更新連接字符串在Java中。但我建議您考慮將用戶添加爲[外鍵](https://technet.microsoft.com/en-us/library/ms175464(v = sql.105).aspx)到您的表中。 –