ITPub博客

首页 > 数据库 > Oracle > oracle中通过connect by prior来实现递归查询

oracle中通过connect by prior来实现递归查询

Oracle 作者:xiaokk1234567 时间:2013-12-08 12:10:09 0 删除 编辑

支集的几条正在oracle中颠末过程connect by prior来实现递回查询

  Start with...Connect By子句递回查询一样平经常利用于一个表庇护树形构造的哄骗。

  创设示例表:

  CREATE TABLE TBL_TEST

  (

  ID    NUMBER,

  NAME VARCHAR2(100 BYTE),

  PID   NUMBER                                  DEFAULT 0

  );

  插进测试数据:

  INSERT INTO TBL_TEST(ID,NAME,PID) VALUES("1","10","0");

  INSERT INTO TBL_TEST(ID,NAME,PID) VALUES("2","11","1");

  INSERT INTO TBL_TEST(ID,NAME,PID) VALUES("3","20","0");

  INSERT INTO TBL_TEST(ID,NAME,PID) VALUES("4","12","1");

  INSERT INTO TBL_TEST(ID,NAME,PID) VALUES("5","121","2");

  从Root往树末梢递回(prior暗示当前止的字段)

  select * from TBL_TEST

  start with id=1

  connect by prior id = pid

  从末梢往树ROOT递回

  select * from TBL_TEST

  start with id=5

  connect by prior pid = id

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22201049/viewspace-1116200/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-26