日期:2014-05-17  浏览次数:20446 次

数据库中使用变量,T-SQL的使用
declare @dsname varchar(30)
set @dsname='[database]'
drop database @dsname 

上面这种情况,就是我想在T-sql中传递一个参数,来删除数据库
请问有何方法?

------解决方案--------------------
SQL code
declare @dsname varchar(30)
set @dsname='datebasename'
exec('drop database ['+@dsname+']')

------解决方案--------------------
SQL code
declare @dsname varchar(30)
set @dsname='[database]'
DECLARE @sql nvarchar(max)
SET @sql='drop database '+ '['+CONVERT(nvarchar(256),@dsname)+']'

EXEC (@sql)

------解决方案--------------------
SQL code

declare @dsname varchar(30)
declare @strSql varchar(1000)

set @dsname='database'
set @strSql = ' drop database ['+@dsname +']'
exec (@strSql)

------解决方案--------------------
又慢了
------解决方案--------------------
虽然有了,还是再写下

SQL code
declare @dsname varchar(100)
declare @sql    varchar(2000)

set    @dsname='database'
select @sql = ' drop database ['+@dsname+']'

exec (@sql)

------解决方案--------------------
你干嘛非要USE 啊?你的use在另外的步骤定义不行吗?