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

用表名作为参数,怎么获取查询结果

2012-01-06 
用表名作为参数,如何获取查询结果.declare@autoidintdeclare@nautoidintdeclare@sqlnvarchar(2000)declare

用表名作为参数,如何获取查询结果.
declare   @autoid   int
declare   @nautoid   int
declare   @sql   nvarchar(2000)
declare   @tablename   nvarchar(200)
declare   @field   nvarchar(50)
set   @tablename= 'tbl_calendarday '
set   @field= 'cid '
set   @sql= 'select   @nautoid=max( '   +   @field   +   ')   from   '   +   @tablename   +   ' '
print   @sql
exec(@sql)


执行到
set   @sql= 'select   @nautoid=max( '   +   @field   +   ')   from   '   +   @tablename   +   ' '
这句就出错了,请问应该如何解决呢?
错误信息:Must   declare   the   variable   '@nautoid '.



[解决办法]
declare @autoid int
declare @nautoid int
declare @sql nvarchar(2000)
declare @tablename nvarchar(200)
declare @field nvarchar(50)
set @tablename= 'sysobjects '
set @field= 'id '
set @sql= 'select @autoid=max( ' + @field + ') from ' + @tablename
--print @sql
exec sp_executesql @sql,N '@autoid int output ',@autoid output
print @autoid

热点排行