oracle树形结构查询

oracle树形结构查询

ID:40567114

大小:30.50 KB

页数:4页

时间:2019-08-04

oracle树形结构查询_第1页
oracle树形结构查询_第2页
oracle树形结构查询_第3页
oracle树形结构查询_第4页
资源描述:

《oracle树形结构查询》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle树形结构实现 我突然看见了一个函数CONNECT BY,就想起以前想做一个树形的结构:就是大类型表TB_INDUSTRYCATALOGUE中有字段INDUSTRYCATALOGUEID,name 小类型表TB_INDUSTRYNAME中有字段INDUSTRYNAMEID,INDUSTRYCATALOGUEID,name要实现每个大类型名下有树形的小类型名。1.先创建一个表aabb,字段为id,name导入TB_INDUSTRYCATALOGUE表中的数据:insert into aabb(id,name)select INDUSTRYCATALOGUE

2、ID,namefrom  TB_INDUSTRYCATALOGUE;2.在表aabb中加一个字段pid更改字段pid都为0    Update aabbset pid=’0’;3.类似创建表aa结构和TB_INDUSTRYNAME一样,导入TB_INDUSTRYNAME表的数据    Insert into aa    Select * from TB_INDUSTRYNAME;4.有可能小类型表中的INDUSTRYNAMEID和大类型表中的INDUSTRYCATALOGUEID有重复的数据,这样就会造成CONNECT BY循环出错,第一次我就出现这个错误,所以避

3、免重复可以把aa中的INDUSTRYNAMEID都加一个很大的数和INDUSTRYCATALOGUEID错开,我加了1000。    Update aa set INDUSTRYNAMEID=to_char(to_number(INDUSTRYNAMEID)+1000);5.这样就可把aa的数据导入aabb了。    Insert into aabb(id,pid,name)    Select INDUSTRYNAMEID,INDUSTRYCATALOGUEID,name from aa;6.这样就可以查询了:为了效果好点可以先设一下页的大小 Setpagesi

4、ze1000其实SYS_CONNECT_BY_PATH这个函数是oracle9i才新提出来的!  它一定要和connect by子句合用!第一个参数是形成树形式的字段,第二个参数是父级和其子级分隔显示用的分隔符.  说白了这个函数的作用就是为你清楚的构建出树结构的查询结果。 selectSYS_CONNECT_BY_PATH(name,  '>')namee fromaabb startwithpid='0' connectbypriorid=pid;>环保>环保>废纸>环保>废金属>环保>纺织废料>环保>公共环卫设施>环保>环保监测仪器>环保>环保产品加工>交通

5、运输工具>交通运输工具>电梯、缆车及配件>交通运输工具>飞行器及配件>交通运输工具>集装箱>交通运输工具>二手交通产品及用具selectLPAD(' ',4*level-1)

6、

7、namenameefromaabbstartwithpid='0'connectbypriorid=pid;环保   废纸   废金属   纺织废料   皮革废料   化工废料   电子浆料交通运输工具   电梯、缆车及配件   飞行器及配件   集装箱

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。