参考:declare @tcnt int
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'set @tcnt=0
execute sp_executesql 
          @sqlstring,
          N'@cnt int output',
  @cnt=@tcnt output
select @tcnt
select * from sysobjectsCreate Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end

解决方案 »

  1.   

    参考:declare @tcnt int
    declare @paras varchar(100)
    DECLARE @SQLString NVARCHAR(500)
    set @paras ='1,3,5'
    set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'set @tcnt=0
    execute sp_executesql 
              @sqlstring,
              N'@cnt int output',
      @cnt=@tcnt output
    select @tcnt
    select * from sysobjectsCreate Procedure GetMaxID
    @TableName varchar(100), @ID int output
    as
    begin
    declare @sql nvarchar(1000)
    set @sql='select @ID = count(ID) from '+@TableName
    exec sp_executesql @sql,N'@id int output',@id output
    end
      

  2.   

    declare @aa int,@TableName nvarchar(20),@sqlstring nvarchar(4000)
    set @TableName = 's_bb0308'
    set @sqlstring=N'select @aa = count(bb) from  '+@TableName
    exec sp_executesql @sqlstring,N'@aaint output',@aa output
      

  3.   

    declare @TableName nvarchar(20)
    set @TableName = 's_bb0308'
    Exec(' declare @aa int select @aa = count(*) from  ' + @TableName + ' select @aa ')
      

  4.   

    declare @aa int,@TableName nvarchar(20),@sqlstring nvarchar(4000)
    set @TableName = 's_bb0308'
    set @sqlstring=N'select @aa = count(bb) from  '+@TableName
    exec sp_executesql @sqlstring,N'@aaint output',@aa output
      

  5.   

    declare @bb int
    declare @TableName nvarchar(50)
    declare @strsql nvarchar(500)
    set @TableName='tb_users'
    set @strsql=N'select @aa = count(*) from '+@TableName
    execute sp_executesql 
              @strsql,
              N'@aa int output',
      @aa=@bb outputprint @bb