项目上是要求把sql server版本的转换成oracle版本的。
sql server版本的是这样子的:http://zhidao.baidu.com/question/648214860273158085.html追问里面有具体说明, 你能帮我再看看吗大神

解决方案 »

  1.   

    项目上是要求把sql server版本的转换成oracle版本的。sql server版本的是这样子的:  if exists(select 1 from sys_zbgl_khzb where zblsh=@sZbdm3 and xt_jlzt in ('0','1'))
          begin
           insert into @SqTable select * from dbo.Sq_Jgpj_GetAllKhzb(@sZbdm3,'0')
           insert into @SqTable values(@sZbdm3,'0')
          end
      else
          begin
            insert into @SqTable values(@sZbdm3,'0')
          end
    我转换成oracle之后这个递归这里有问题:select COUNT(1)
      INTO nCount
      from sys_zbgl_khzb
     where zblsh = str_sZbdm3
       and xt_jlzt in ('0', '1');
    if nCount > 0 then
      begin
        zb_tab.extend;
        ----要在这里递归。
         --insert into @SqTable select * from dbo.Sq_Jgpj_GetAllKhzb(@sZbdm3,'0')
        zb_tab(zb_tab.count) := KHZB2_ARR(str_sZbdm3, '0');
      end;
    else
      begin
        zb_tab.extend;
        zb_tab(zb_tab.count) := KHZB2_ARR(str_sZbdm3, '0');
      end;
    请问这里面应该怎么写呢,这个函数返回的是table类型的数据
      

  2.   

    dbo.Sq_Jgpj_GetAllKhzb(@sZbdm3,'0')  这是什么?
      

  3.   

    当然 楼主这个可以通过动态SQL解决就行了。