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

SELECT @lMaxIndex = Max(lCompanyLogID) from ADCenter1.20070319.dbo.tCompanyLog,该

2012-03-01 
SELECT @lMaxIndex Max(lCompanyLogID) from ADCenter1.20070319.dbo.tCompanyLogdeclare@LinkServerNam

SELECT @lMaxIndex = Max(lCompanyLogID) from ADCenter1.20070319.dbo.tCompanyLog
declare   @LinkServerName   nvarchar(100)   --数据库名
select   @LinkServerName     =   sDBName   from   ADCenter1.NDSPrimaryNew.dbo.tServerList   where   sServerType= '1 '
--取得数据库名称   如:2007019


SELECT   @lMaxIndex   =   Max(lCompanyLogID)   from   ADCenter1.20070316.dbo.tCompanyLog
print   @lMaxIndex

问题:我如何将上句中   20070316   变成我第一句中   @LinkServerName   的变量值


[解决办法]
declare @LinkServerName nvarchar(100),@lMaxIndex varchar(20)
declare @sql nvarchar(1000)

select @LinkServerName = sDBName from ADCenter1.NDSPrimaryNew.dbo.tServerList where sServerType= '1 '

set @sql= 'SELECT @lMaxIndex = Max(lCompanyLogID) from ADCenter1. '+@LinkServerName+ '.dbo.tCompanyLog '

exec sp_executesql @sql,N '@lMaxIndex varchar(20) output ',@lMaxIndex output

print @lMaxIndex
[解决办法]
try

declare @LinkServerName nvarchar(100) --数据库名
select @LinkServerName = sDBName from ADCenter1.NDSPrimaryNew.dbo.tServerList where sServerType= '1 '
--取得数据库名称 如:2007019

Declare @S Nvarchar(4000)
Select @S = N 'SELECT @lMaxIndex = Max(lCompanyLogID) from ADCenter1. ' + @LinkServerName + '.dbo.tCompanyLog '
EXEC sp_executesql @S, N '@lMaxIndex Int output ', @lMaxIndex output
print @lMaxIndex

热点排行
Bad Request.