我不確定是否可以使用TSQL中的循環執行此操作。循環訪問數據庫列表以刪除並重新創建視圖
我有一個數據庫列表,我想循環訪問每個數據庫並根據需要重新創建視圖。
我有一個腳本已經放棄並重新創建視圖。然而,目前在我的腳本的頂部,我有一堆使用語句,我只是在列表中取消註釋並重新運行腳本。不過,我想自動化它,所以它會更快。我在過去做了一個類似的事情,即通過一串數據庫名稱來循環,並使用它來執行使用語句。除了創建視圖之外,哪些工作是有效的,因爲視圖必須由go語句分隔。這裏是我的代碼解析數據庫的任何幫助,使視圖工作的代碼片段將是偉大的。
DECLARE @DBs AS VARCHAR(MAX);
DECLARE @OneDB AS VARCHAR(255);
DECLARE @CmdToExec AS VARCHAR(MAX);
SET @DBs = 'db1,db2,db3,db4,db5,db6,db7,db8,db9,db10,db11,db12,db13,db14,db15,db16'
DECLARE DB_Cursor CURSOR FOR
SELECT SUBSTRING(',' + @DBs + ',', n + 1,
CHARINDEX(',', ',' + @DBs + ',', n + 1) - n - 1) AS "dbInfo"
FROM CommunityPAL.dbo.Numbers
WHERE SUBSTRING(',' + @DBs + ',', n, 1) = ','
AND n < LEN(',' + @DBs + ',');
OPEN DB_Cursor;
FETCH NEXT FROM DB_Cursor INTO @OneDB;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @CmdToExec = 'USE ' + @OneDB;
EXEC @CmdToExec;
--statements to execute
FETCH NEXT FROM DB_Cursor INTO @OneDB;
END
CLOSE DB_Cursor
DEALLOCATE DB_Cursor
」有一個我想循環訪問的數據庫列表,併爲每個數據庫刪除並根據需要重新創建視圖。「 - 爲什麼? – 2012-01-06 15:44:23
需要將新字段添加到每個視圖中我有一個使用來自不同客戶端數據庫的視圖的Web應用程序 – user1134537 2012-01-06 18:30:45