日期:2014-05-18  浏览次数:20536 次

在存储过程中,如何生成动态连续的数据库名称
现有9个数据库,库中的Table都是一样的,比如数据库名称为:zy_aa,lj_aa,hl_aa
等,声名3个变量,a1,a2,a3来代表数据库名称的前2位,现在想从3个数据库中循环取出相应的数据,但在动态形成数据库名称时,总是没反应,请大家看一下

------解决方案--------------------
try:
DECLARE @EXECUTE_SQL nvarchar(2000)
DECLARE @DataBase nvarchar(50)
SET @DataBase= 'RiShengTest ' --数据库1
SET @EXECUTE_SQL= 'SELECT * FROM '+@DataBase+ '..EmployeeMsg '
SET @DataBase= 'JieYi ' --数据库2
SET @EXECUTE_SQL=@EXECUTE_SQL+CHAR(10)+ 'SELECT * FROM '+@DataBase+ '..EmployeeMsg '
EXECUTE(@EXECUTE_SQL)
------解决方案--------------------
用动态sql语句吧.
如:
declare @str= 'select * from table1 '
exec (@str)

这只是思路,呵呵.