添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
数据结构MATNR START1111111 222222222222 333333333333 444444查询Sql语句SELECT MATNRFROM sap_tlbom START WITH MATNR = '1111111' CONNECT BY prior IDNRK = MATNR查询结...   ID NUMBER,   NAME VARCHAR2(100 BYTE),   PID NUMBER DEFAULT 0   INSERT INTO TBL_TEST(ID,NAME,PID) VALUES(‘1’,’10’,’0’);
要在 Oracle 中实现根据 子节点 查询出父节点下的全部 子节点 ,可以使用CONNECT BY语句和START WITH语句结合使用。 假设我们有一个表格叫做employee,其中包含了员工的ID、名称以及上级ID。我们想要查询出某个员工的上级节点下的所有 子节点 ,可以使用以下SQL语句: SELECT * FROM employee WHERE CONNECT_BY_ISLEAF = 1 START WITH id = <指定员工ID> CONNECT BY PRIOR id = parent_id; 其中,CONNECT_BY_ISLEAF是 Oracle 提供的一个伪列,用于判断当前节点是否为叶 子节点 。START WITH指定了起始节点,CONNECT BY指定了递归的条件。PRIOR是 Oracle 提供的一个关键字,用于获取上一级节点的值。 这个SQL语句会查询出指定员工的上级节点下的所有 子节点 的信息。如果需要查询某个员工的同级节点下的所有 子节点 ,可以将START WITH的条件改为对应员工的上级ID。 需要注意的是,如果表格中存在环形引用的情况, 递归查询 可能会进入死循环,需要注意避免。