深入sql oracle遞歸查詢建站知識(shí)
導(dǎo)讀:1建站知識(shí)本篇文章是對(duì)sql oracle 遞歸查詢進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下seo網(wǎng)站排名優(yōu)化軟件網(wǎng)站推廣優(yōu)化seo。
☆ 獲取數(shù)據(jù)庫(kù)所有表名,表的所有列名 select name from sysobjects where xtype='u' select name from syscolumns wh公司網(wǎng)站建設(shè)ere id=(select max(id) from sysobjects where xtype='u' and)☆ 遞歸查詢數(shù)據(jù)Sql語(yǔ)句里的遞歸查詢 SqlServer2005和Oracle 兩個(gè)版本以前使用Oracle,覺(jué)得它的遞歸查詢很好用,就研究了一下SqlServer,發(fā)現(xiàn)它也支持在Sql里遞歸查詢舉例說(shuō)明:SqlServer2005版本的Sql如下:比如一個(gè)表,有id和pId字段,id是主鍵,pid表示它的上級(jí)節(jié)點(diǎn),表結(jié)構(gòu)和數(shù)據(jù):CREATE TABLE [aaa]( [id] [int] NU如何seo優(yōu)化推廣網(wǎng)站LL, [pid] [int] NULL, [name] [nchar](10))GOINSERT INTO aaa VALUES(1,0,'a')INSERT INTO aaa VALUES(2,0,'b')INSERT INTO aaa VALUES(3,1,'c')INSERT INTO aaa VALUES(4,1,'d')INSERT INTO aaa VALUES(5,2,'e')INSERT INTO aaa VALUES(6,3,'f')INSERT INTO aaa VALUES(7,3,'g')INSERT INTO aaa VALUES(8,4,'h')GO--下面的Sql是查詢出1結(jié)點(diǎn)的所有子結(jié)點(diǎn)with my1 as(select * from aaa where id = 1 union all select aaa.* from my1, aaa where my1.id = aaa.pid)select * from my1 --結(jié)果包含1這條記錄,如果不想包含,可以在最后加上:where id <> 1--下面的Sql是查詢出8結(jié)點(diǎn)的所有父結(jié)點(diǎn)with my1 as(select * from aaa where id = 8 union all select aaa.* from my1, aaa where my1.pid = aaa.id)select * from my1;--下面是遞歸刪除1結(jié)點(diǎn)和所有子結(jié)點(diǎn)的語(yǔ)句:with my1 as(select * from aaa where id = 1 union all select aaa.* from my1, aaa where my1.id = aaa.pid)delete from aaa where exists (select id from my1 where my1.id = aaa.id) Oracle版本的Sql如下:比如一個(gè)表,有id和pId字段,id是主鍵,pid表示它的上級(jí)節(jié)點(diǎn),表結(jié)構(gòu)和數(shù)據(jù)請(qǐng)參考SqlServer2005的,Sql如下:--下面的Sql是查詢出1結(jié)點(diǎn)的所有子結(jié)點(diǎn) SELECT * FROM aaa START WITH id = 1CONNECT BY pid = PRIOR id--下面的Sql是查詢出8結(jié)點(diǎn)的所有父結(jié)點(diǎn) SELECT * FROM aaa START WITH id = 8CONNECT BY PRIOR pid = id今天幫別人做了一個(gè)有點(diǎn)意思的sql,也是用遞歸實(shí)現(xiàn),具體如下:假設(shè)有個(gè)銷售表如下:CREATE TABLE [tb]( [qj] [int] NULL, -- 月份,本測(cè)試假設(shè)從1月份開(kāi)始,并且數(shù)據(jù)都是連續(xù)的月份,中間沒(méi)有隔斷 [je] [int] NULL, -- 本月銷售實(shí)際金額 [rwe] [int] NULL, -- 本月銷售任務(wù)額 [fld] [float] NULL -- 本月金額大于任務(wù)額時(shí)的返利點(diǎn),返利額為je*fld) ON [PRIMARY]現(xiàn)在要求計(jì)算每個(gè)月的返利金額,規(guī)則如下:1月份銷售金額大于任務(wù)額 返利額=金額*返利點(diǎn)2月份銷售金額大于任務(wù)額 返利額=(金額-1月份返利額)*返利點(diǎn)3月份銷售金額大于任務(wù)額 返利額=(金額-1,2月份返利額)*返利點(diǎn)以后月份依次類推,銷售額小于任務(wù)額時(shí),返利為0具體的Sql如下:
聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-23 ,文章深入sql oracle遞歸查詢建站知識(shí)主要講述遞歸,深入,深入sql oracle遞歸查詢建站知識(shí)1網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_6178.html
為你推薦與深入sql oracle遞歸查詢建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12