0
私は多くの同一のデータベースを持っており、同じテーブルに特定のエントリを持つすべてのデータベースを探したいと思います。すべてのデータベースの特定のテーブルを同時に検索する
これは私が必要とする情報を取得するために、各databse agains実行しなければならないものである:
select OrderID, OrderRef
from Orders
where OrderID = '12345'
私はサポートされていないsp_MSforeachdb
を使用して、すべてのdatabsesに対する私のクエリを実行できることを考えたが、私はに絶望的ではありませんよこの特定の方法を使用してください。
Column name or number of supplied values does not match table definition.
さらに、それは結果がから来ているデータベースは表示されません:
CREATE TABLE ##tmpTable(OrderID VARCHAR(MAX), OrderRef VARCHAR(MAX));
DECLARE @command varchar(1000)
SELECT
@command = 'Use ? INSERT INTO ##tmpTable SELECT ''[?]'', OrderID, OrderRef FROM Orders WHERE OrderID = ''12345'';'
EXEC sp_MSforeachdb @command
SELECT * FROM ##tmpTable;
GO
DROP TABLE ##tmpTable;
それは私が次のエラーを取得していているように私はそれを実行
。私は何を取得したいと思いことはこれです:あなたのコメントのおかげでDatabaseName | OrderID | OrderRef
あなたが仕事をdoesntの意味は何?仕事のために名前のチェックが必要なのでhttp://stackoverflow.com/questions/3808338/need-to-capture-database-name-when-error-occurs-with-sp-msforeachdb –
私にはそれは期待通りに働いたからです。 –
私の質問は、どの部分がうまくいかないかを説明するために更新されました。 – QWE