【发布时间】:2015-12-12 00:16:05
【问题描述】:
use master
Declare @CID integer = 1114
Declare @dbname varchar(50)
set @dbname = (select DatabaseName from [Clients].[dbo].[Client] where clientid = @CID)
select @dbname
alter database @dbname
set single_user with rollback immediate
drop database @dbname
delete from [Clients].[dbo].[client] where clientid = @CID
但我得到错误
消息 102,第 15 级,状态 1,第 7 行
'@dbname' 附近的语法不正确。消息 319,第 15 级,状态 1,第 7 行
关键字“with”附近的语法不正确。如果这个语句是一个公用表表达式、一个 xmlnamespaces 子句或一个更改跟踪上下文子句,则前面的语句必须以分号结束。消息 102,第 15 级,状态 1,第 7 行
“立即”附近的语法不正确。
【问题讨论】:
-
您不能将 dbname 作为变量传递,您应该使用 Dynamic-SQL
标签: sql sql-server sql-server-2012