DECLARE @id NVARCHAR(MAX)
DECLARE @ZA INT
DECLARE @A NVARCHAR(MAX)
declare @v_sumvalue NVARCHAR(MAX)
SET @A = 'Select '+@id+' =Count(*) From CONTRACT where 1=1'
exec sp_executesql @A,N'@id nvarchar(max) output',@v_sumvalue output
print @id为什么 print 后没有值 出现呢?怎样才能把获得的记录总数读取出来??

解决方案 »

  1.   

    给你一个例子,你参考一下DECLARE @IntVariable int;
    DECLARE @SQLString nvarchar(500);
    DECLARE @ParmDefinition nvarchar(500);
    DECLARE @max_title varchar(30);SET @IntVariable = 197;
    SET @SQLString = N'SELECT @max_titleOUT = max(Title) 
       FROM AdventureWorks.HumanResources.Employee
       WHERE ManagerID = @level';
    SET @ParmDefinition = N'@level tinyint, @max_titleOUT varchar(30) OUTPUT';EXECUTE sp_executesql @SQLString, @ParmDefinition, @level = @IntVariable, @max_titleOUT=@max_title OUTPUT;
    SELECT @max_title;
      

  2.   

    39364250--Asp.net(C#)高手交流群(高级群-可加200人),欢迎高手加盟交流!asp.net 开源交流设计模式n层架构技术创业外包合作另招数名高手作管理员