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