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...