DB2中實現等級查詢一

2021-05-18 01:28:14 字數 773 閱讀 6682

//目錄表的資料結構,為了方便,採用了統一的資料型別

create table folder

(folderid varchar(20),  //本目錄的標識

parentid varchar(20),  //父目錄的標識

name varchar(20),    //目錄名

status varchar(20)    //目錄狀態

)//建乙個函式,通過父id查詢出所有的子id,返回的是乙個表,表中只有所有的子id

create function f_getdirectchilds (parent varchar(20))

returns table (id varchar(20))    //返回的是乙個只有id的表

language sql   //指定程式用sql語言

deterministic  //表示動態返回結果集

reads sql data  //表示只可讀取資料

static dispatch  //

no external action  //表示儲存過程是否執行一些改變理資料庫狀態的活動,

inherit special registers    //表示繼承專用暫存器

return   //返回結果集的最終執行sql

select child_id

from ( select folderid from folder where folder.parentid = f_getdirectchilds.parent) as t(child_id)

DB2遞迴查詢

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

DB2中的高效查詢

1 確保在連線謂詞中使用等號 2 同時應盡可能使用not exists來代替not in,儘管二者都使用了not 不能使用索引而降低速度 not exists要比not in查詢效率更高。索引而降低速度 not exists要比not in查詢效率更高。3 同時應盡可能使用exists來代替in,儘...

DB2中db2命令引數說明

db2中db2命令引數說明 a 顯示 sqlca off c 自動落實 on d 檢索並顯示 xml 宣告 off e 顯示 sqlcode sqlstate off f 讀取輸入檔案 off i 顯示 xml 資料並帶有縮排 off l 將命令記錄到歷史記錄檔案中 off m 顯示受影響的行數 o...