次のことが起こる任意の MS SQL Server で実行できる SQL スクリプトを作成しています。
一時テーブルは、ID #、dbname、および処理された? 桁。
システムは、データベース名を SQL ステートメントの一部として使用して、一時テーブルの各行を反復処理します。
これは私が現在持っているものです:
DECLARE @ID INT
CREATE TABLE #DBNAME (ID varchar(3), dbname varchar(100), processed varchar(1))
BEGIN
INSERT INTO #DBNAME(ID, dbname)
SELECT database_id, name FROM sys.databases
END
BEGIN
UPDATE #DBNAME SET processed = '0'
WHERE dbname IS NOT NULL
END
BEGIN
END
select * from #DBNAME
WHILE (SELECT COUNT(*) From #DBNAME Where processed = 0) > 0
BEGIN
SELECT TOP 1 @ID = ID from #DBName Where processed = 0
select * from [#DBNAME.dbname].installinfo where installed='Success'
現在、#DBName.dbname.installinfo
は有効なオブジェクトではないため機能していません。これを行う方法がわかりません。selectステートメントが0行以上を返す場合、追加情報を収集する必要があるため、スクリプトはそこで実行されませんが、[#DBNAME.dbname]
作業を開始できるように部品を正しく取得できれば、それをうまく配置できると思います反復データベースで。
何か案は?