CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

数据库 | Oracle | DB2 | SQL Server | MySQL | 商业智能 | BI | DBA | Sybase| SQL Server 2008

您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

10g树形查询特性CONNECT_BY_ISCYCLE的9i实现方式二

作者: 杨廷琨,  出处:blog, 责任编辑: 王晓晨, 
2008-07-25 00:00
  采用将固定字符分隔的字符串转化为表的形式的方法,就可以将获取的字符串转化为表的形式。

  现在初步实现9i中的CONNECT BY NOCYCLE树形查询的方式,测试一下不同情况下10g的CONNECT BY NOCYCLE和这里给出的方法是否等价:

SQL> SELECT *
  2 FROM T_TREE
  3 START WITH PK = 2
  4 CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  2 1 BC 2
  5 2 HIJ 5
  SQL> SELECT A.*
  2 FROM T_TREE A,
  3 TABLE(F_TO_T_IN(F_FIND_CHILD(2))) B
  4 WHERE A.PK = B.COLUMN_VALUE;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  2 1 BC 2
  5 2 HIJ 5
  SQL> SELECT *
  2 FROM T_TREE
  3 START WITH PK = 4
  4 CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  4 1 FG 4
  6 4 KLM 6
  7 6 NOPQ 7
  SQL> SELECT A.*
  2 FROM T_TREE A,
  3 TABLE(F_TO_T_IN(F_FIND_CHILD(4))) B
  4 WHERE A.PK = B.COLUMN_VALUE;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  4 1 FG 4
  6 4 KLM 6
  7 6 NOPQ 7
  SQL> SELECT *
  2 FROM T_TREE
  3 START WITH PK = 9
  4 CONNECT BY NOCYCLE PRIOR ID = FATHER_ID;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  4 7 FG 9
  6 4 KLM 6
  7 6 NOPQ 7
  SQL> SELECT A.*
  2 FROM T_TREE A,
  3 TABLE(F_TO_T_IN(F_FIND_CHILD(9))) B
  4 WHERE A.PK = B.COLUMN_VALUE;
  ID FATHER_ID NAME PK ---------- ---------- ------------------------------ ----------
  4 7 FG 9
  6 4 KLM 6
  7 6 NOPQ 7

共3页。 9 1 2 3

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅


    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i