0
我有,我已經納入一個批處理文件,應通過另一個進程將重新創建並再次填充數據庫運行之前自動刪除數據庫的查詢。我用這個查詢巴吉查詢刪除數據庫
declare @dbname nvarchar (2000);
declare @query nvarchar (max);
DECLARE db_cursor CURSOR FOR
select name from sys.databases
where name like '%ABCDir%'
Open db_cursor
fetch next from db_cursor into @dbname
while @@FETCH_STATUS = 0
BEGIN
set @query = 'Drop Database ['+ @dbname + ']'
Exec(@query)
FETCH NEXT FROM db_cursor INTO @dbname
END
Close db_cursor
deallocate db_cursor
問題是它沒有刪除所有東西。來自每次運行的結果將填充另一個表,當我運行後續運行時,我將獲得當前運行中先前運行的結果。 Anyboyd查看如何設置此查詢的錯誤?
嘗試添加一些'BEGIN TRY .. BEGIN CATCH..'代碼來捕獲和報告任何錯誤。 – RBarryYoung 2014-11-21 17:12:26
不是問題,但: EXEC sp_executesql的@query http://technet.microsoft.com/en-us/library/ms175170(v=sql.105).aspx – 2014-11-21 17:21:02
這是否查詢返回從SYS任何結果'選擇名稱。數據庫的名字像'%ABCDir%'? – 2014-11-21 17:26:45