DB2 遞迴SQL寫法

2021-04-12 20:58:04 字數 1137 閱讀 7759

with temptab(pro_komcode,

pro_komcode_o,

pro_sup_code) as

(    select root.pro_komcode,

root.pro_komcode_o,

root.pro_sup_code

from product root

where pro_komcode = :as_pro_komcode

union all

select sub.pro_komcode,

sub.pro_komcode_o,

sub.pro_sup_code

from product sub,

temptab super

where sub.pro_komcode = super.pro_komcode_o  and sub.pro_komcode_o<>:as_pro_komcode

),temptab1(pro_komcode,

pro_komcode_o,

pro_sup_code) as

(    select root.pro_komcode,

root.pro_komcode_o,

root.pro_sup_code

from product root

where pro_komcode_o = :as_pro_komcode

union all

select sub.pro_komcode,

sub.pro_komcode_o,

sub.pro_sup_code

from product sub,

temptab1 super

where sub.pro_komcode_o = super.pro_komcode and sub.pro_komcode<>:as_pro_komcode

)select pro_komcode,

pro_komcode_o,

pro_sup_code

from temptab

union

select pro_komcode,

pro_komcode_o,

pro_sup_code

from temptab1  

db2查詢樹寫法

較oracle來說,db2的查詢樹寫法比較複雜,但是當你習慣以後,其實寫法也挺簡單的。db2要自己寫遞迴,沒有提供相應的函式 create table tree 例子 with rpl treesuperid,treeid,treename,level as select root.treesupe...

DB2遞迴查詢

遞迴 sql 在 db2 中通過公共表表示式 cte,common table expression 來實現。遞迴 sql 由遞迴 cte 以及對遞迴 cte 結果的查詢組成。那什麼是遞迴 cte 呢?簡言之,如果 cte 中的 fullselect 在 from 子句中引用到 cte 本身,就是遞...

DB2 執行SQL檔案

db2 執行sql檔案 首先是新建資料庫,可以使用control center 控制中心 也可以使用command line 命令列 不過對於本次新建,我更加願意使用command editor 命令列處理器 開啟之後,可以直接寫如下sql文 create database mydb2 on d u...