2011-10-07 81 views
0

我正在編寫一個針對MSSQL 2005服務器的Trans-SQL腳本,用於查詢存在的每個數據庫的文件路徑。我能夠列出系統中存在的數據庫。但是,如何根據結果運行單獨的查詢?如何從另一個查詢查詢結果?

以下是使用命令(SELECT name from sys.databases)數據庫列表輸出:

name 
---- 
master 
tempdb 
model 
msdb 

現在我想借這個數據庫的名稱(如主,tempdb中),然後輸入到另一個查詢,即( exec sp_helpdb <database_name>)。

有什麼想法?

回答

2

不直接回答你的問題,但如果你想運行每個分貝的查詢,你可以使用sp_msforeachdb

sp_msforeachdb 'EXEC sp_helpdb [?]' 

否則,您將需要使用結果來生成您的SQL。

+0

你最接近答案!通過你給的鏈接找到我的答案。謝謝! –

0

您可以基於該查詢構建遊標,然後遍歷結果,將它們填充到SQL變量中,然後使用該變量來執行您的存儲過程。不幸的是我現在無法給你一個樣本,但這是我接近它的方式。

+0

是的我一直在想使用一個循環,但這不像正常的腳本 –

-1

如果我理解正確的,你可以使用派生表的位置: -

選擇素t database.name(你的查詢)從 (SELECT name from sys.databases)數據庫

相關問題