为啥我用数据库测试返回一个ResultSet,结果集是有一条数据的 
,但却没有返回是0个set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
go 
ALTER PROCEDURE [dbo].[by_cxx_ktxsxxlb](@ktbh int) AS 
declare  @ktxsb  table( 
        [bjmc] [varchar](40) NULL , 
        [xh] [varchar](15) NULL , 
        [xm] [varchar](16) NULL , 
        [xb] [varchar](3) NULL , 
        [xx] [varchar] (10) null 

begin 
insert into @ktxsb(bjmc,xh,xm,xb,xx)(SELECT jw_bjb.bjmc, jw_xsb.xh, jw_xsb.xm, jw_xsb.xb,'第一志愿' as xx 
FROM jw_xsb INNER JOIN 
      jw_bjb ON jw_xsb.bjdm = jw_bjb.bjdm INNER JOIN 
      by_ktb ON jw_xsb.byktzy1 = by_ktb.ktbh 
where by_ktb.ktbh=@ktbh) insert into @ktxsb(bjmc,xh,xm,xb,xx)(SELECT jw_bjb.bjmc, jw_xsb.xh, jw_xsb.xm, jw_xsb.xb,'第二志愿' as xx 
FROM jw_xsb INNER JOIN 
      jw_bjb ON jw_xsb.bjdm = jw_bjb.bjdm INNER JOIN 
      by_ktb ON jw_xsb.byktzy2 = by_ktb.ktbh 
where by_ktb.ktbh=@ktbh) insert into @ktxsb(bjmc,xh,xm,xb,xx)(SELECT jw_bjb.bjmc, jw_xsb.xh, jw_xsb.xm, jw_xsb.xb,'第三志愿' as xx 
FROM jw_xsb INNER JOIN 
      jw_bjb ON jw_xsb.bjdm = jw_bjb.bjdm INNER JOIN 
      by_ktb ON jw_xsb.byktzy3 = by_ktb.ktbh 
where by_ktb.ktbh=@ktbh) 
end 
select rtrim(bjmc) as bjmc,xh,rtrim(xm) as xm,xb,xx from  @ktxsb t 
delete @ktxsb 
如图:

解决方案 »

  1.   

    declare  @ktxsb  table( 
            [bjmc] [varchar](40) NULL , 
            [xh] [varchar](15) NULL , 
            [xm] [varchar](16) NULL , 
            [xb] [varchar](3) NULL , 
            [xx] [varchar] (10) null 这个放到存储过程外面去,使用正式表,不要用表变量.同样存储过程中也使用正式表.
      

  2.   

    二楼的也谢谢,因为本人是菜鸟,可以写详细点么?最好帮我写下sql代码?谢谢...