项目上是要求把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类型的数据
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类型的数据