--example :功能,取 @cou 值 ,TABLENAME 存在变量@tablename中
--不可修改,use pubs
declare @tablename char(50)
declare @cou int 
declare @sql nvarchar(4000)
select @tablename='authors'--以下可以修改
--以下为@cou 中的值。select @cou=count(*) from authors
select @sql = N'select @cou=count(*) from '+ @tablenameexec sp_executesql @sql,N'@cou int output',@cou outputprint @cou--以上程序可以直接贴在SQL中调试

解决方案 »

  1.   

    这样行吗?CREATE PROCEDURE Pro_GetYyr
     @DatabaseName char(20), 
     @DT_Yyr  datetime OUTPUT
     @Return varchar(20) outputAS
     DECLARE @Sql char(2000)
     SET @Return='yyr'
     SET @Sql='SELECT '+@Return+'=MAx(yyr) FROM ' + @DatabaseName + '.dbo.posls WHERE JBBZ = 0'
     EXEC (@Sql)
      

  2.   

    楼上老兄的方法我也试过了,但是不可以,求我是想在存储过程中获得那个值。
    关于二楼的老兄的解决办法能否在讲的详细一些?
    sp_executesql 这个过程是作什么用的?