您的位置:首页 > 其它

【转】with as 递归实现嵌套循环

2016-01-29 17:57 411 查看
with t (v_str, i,j)

as

(

select '@' v_str, 1 i,1 j from dual

union all

select cast (

case when mod(t.i,2) = 0 then

t.v_str||'#'

else

t.v_str||'$'

end

as varchar2(1000)) v_str,

case when t.j=3 then

t.i+1

else

t.i

end i,

case when t.j=3 then

1

else

t.j+1

end j

from t

where t.i<=3

)

CYCLE i,j SET CYCLE_FLAG TO 'Y' DEFAULT 'N'

select * from t where t.i<=3

--效果同:

--for i in 1..3 loop

-- for j in 1..3 loop

-- putline...;

-- end loop;

--end loop;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: