首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎样使用参数代替数据库名字解决方法

2012-04-12 
怎样使用参数代替数据库名字使用环境 SQL SERVER 2005测试代码declare @DataBaseNamenvarchar(20)SET @Da

怎样使用参数代替数据库名字
使用环境 SQL SERVER 2005

测试代码 
  declare @DataBaseName nvarchar(20);
  SET @DataBaseName='RH'

  SELECT *
  FROM @DataBaseName+'.dbo.INVMB'

错误提示:
Incorrect syntax near '+'.

因为经常需要使用不同的数据库,所以想在存储过程中
 EXEC ‘RH’ 或 EXEC ‘LOOS’ 直接修改数据库就很简单了  
请问该怎样修改才能实现

 

[解决办法]
declare @DataBaseName nvarchar(20);
SET @DataBaseName='RH'

exec('SELECT * FROM ' + @DataBaseName + '.dbo.INVMB')

当数据库名,表名,列名为变量时,需要拼接SQL,动态执行之.
[解决办法]

SQL code
  declare @DataBaseName nvarchar(20),@sql varchar(2000)  SET @DataBaseName='RH' set @sql='SELECT * FROM '+@DataBaseName+'.dbo.INVMB' print @sql  ---SELECT * FROM RH.dbo.INVMB
[解决办法]
exec(‘SELECT *
FROM ’+@DataBaseName+'+'.dbo.INVMB')

热点排行