我需要在許多數據庫上運行以下查詢,我有超過100多個數據庫,但我不想拉起每個數據庫並一次運行一個查詢。SQL查詢所有數據庫
用戶表僅在Database#_Account
中列出。
如果查詢運行錯誤,因爲Database#_Admin
沒有User
表。
(示例數據庫列表)
Database:
---------------------
MASTER
Model
msdb
tempdb
Database1_Account
Database1_Admin
Database2_Account
Database2_Admin
Database3_Account
Database3_Admin
查詢:
EXEC sp_MsForEachDb @command1 = SELECT "?" as DatabaseName, *
FROM ?.User
WHERE Name = "John" AND "?" LIKE "%_Account"
只是建立一個DINAMIC查詢https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql -server/ –
另外你首先需要檢查表是否存在。 https://stackoverflow.com/questions/167576/check-if-table-exists-in-sql-server –
我遇到的問題是隻在選定的數據庫上運行查詢。我查看了動態查詢,但沒有提到有關搜索選擇數據庫的任何信息。 –