oracle关于connect by

利用oracle函数创建id号,以年份开头,紧跟着出生地(以superid为0作参考)编码、编号规则
编号规则为:如果为男,编号依次为001、003、…
如果为女,编号依次为002、004、…
每一年都重新编号

如:2017年 第一个江苏男人:2017js001,
      第一个上海男人:2017sh001
第二个江苏男人:2017js003
2017年 第一个女人:2017js002
2018年 第一个江苏男人:2018js001,

Function GetSeqId(birthId, sex)
返回生成的编号

Select sysdate from dual;

Insert into userinfo values (GetSeqId(birthId, sex),…)

Connect by

Id
Superid
Type
Name
Code

1
0
1(省)
江苏
Js

2
0
2(市)
上海
Sh

3
1
2
南京
Nj

4
2
3(区)
徐汇
Xh

5
1
2
苏州
Sz

https://blog.csdn.net/afei3418/article/details/47665837