表结构如下
这里面的数据就是全国行政区划
1.seqno就是序列,是所有节点dictcode连起来的序列,以点隔开。以第二级rank=2为例,则seqno=(parentcode的seqno)||dictcode||'.' 我们关联更新下
update sys_casdictentry a
set seqno=b.seqno||a.dictcode||'.'
from sys_casdictentry as b
where a.rank=2 and a.parentcode=b.dictcode;
这里面要注意的是set后面的seqno=前不能带别名,也就是set a.seqno=这样会报错,不知道为什么,试了很多次才摸索出规律。
2.用一下窗口函数,刚倒进来的数据没有sortno也就是排序字段,现在想设置为按照dictcode排列
update sys_casdictentry a set sortno=c.sortno
from (select row_number() over(partition by dicttype,parentcode order by dictcode) as sortno,dictcode from sys_casdictentry b where rank=2) c
where a.rank=2 and a.dictcode=c.dictcode;
关键在于select row_number() over(partition by dicttype,parentcode order by dictcode) as sortno
这个大家自己体会
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。