这段ORACLE实现的功能,怎么用POSTGRESL实现。
create table t(id int, a int, b int, c varchar(10), d varchar(10));
insert into t values(1, 1, 3, 'xx', 'xx');
insert into t values(2, 1, 2, 'xx', 'xx');
insert into t values(3, 2, 4, 'xx', 'xx');
insert into t values(4, 2, 1, 'xx', 'xx');
select id, a + level - 1 a, b, c, d from t
connect by level <= t.b
and prior dbms_random.value is not null
and prior t.rowid = t.rowid;
ID A B C D
---------- ---------- ---------- ---------- ----------
1 1 3 xx xx
1 2 3 xx xx
1 3 3 xx xx
2 1 2 xx xx
2 2 2 xx xx
3 2 4 xx xx
3 3 4 xx xx
3 4 4 xx xx
3 5 4 xx xx
4 2 1 xx xx