午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

教你用Oracle解析函數(shù)快速檢查序列間隙

瀏覽:21日期:2023-11-24 13:34:18
數(shù)據(jù)庫(kù)表格中經(jīng)常用到值序列。無(wú)論是作為數(shù)據(jù)本身自然產(chǎn)生的,還是由Oracle 的序列對(duì)象分配的,它的目的就是用一個(gè)唯一的、遞增的數(shù)字給每一行編號(hào)。 在編號(hào)的過(guò)程中,產(chǎn)生間隙的原因多種多樣。假如一個(gè)存儲(chǔ)過(guò)程從一個(gè)序列中挑選某個(gè)數(shù)字,定為本地變量,但是從來(lái)不用它,這個(gè)數(shù)字就丟失了。它將不能再返回到原序列中,結(jié)果就造成數(shù)值序列中存在一個(gè)間隙。關(guān)系型數(shù)據(jù)庫(kù)模型中不必?fù)?dān)心這一點(diǎn)。但是有時(shí)候人們?cè)谝膺@一點(diǎn),這些人想知道是哪些數(shù)字丟失了。 一個(gè)顯而易見(jiàn)的方式就是用PL/SQL,在已排序指針中循環(huán),并且用一個(gè)本地變量進(jìn)行存儲(chǔ),把每一個(gè)數(shù)值與其前一行的進(jìn)行比較。這種方法的問(wèn)題在于效率很低,速度很慢。另外一個(gè)不常用的解決辦法就是對(duì)表格做一個(gè)自合并,實(shí)質(zhì)也就是用某種標(biāo)準(zhǔn)使每一行與其前一行相匹配。這種方法很難編寫(xiě)代碼。 Oracle的解析函數(shù)為檢查間隙提供了一種要快捷得多的方法。它們使你在使用完整的、面向集合的SQL處理的同時(shí),仍然能夠看到下一個(gè)行(LEAD)或者前一行(LAG)的數(shù)值。 下面是這些函數(shù)的格式: {LEAD LAG} (value_eXPression, offset, default) OVER ([PARTITION BY expr] ORDER BY expr)通常,value_expression是一個(gè)你想要檢索的數(shù)據(jù)列。參數(shù)offset是指你想要往前或往后讀取的行數(shù),default則是到達(dá)任意一個(gè)分區(qū)的開(kāi)頭或者結(jié)尾(即沒(méi)有與之相匹配的行)時(shí)返回的數(shù)值。 腳本是一系列從工作地傳感器自動(dòng)收集來(lái)的數(shù)據(jù)。傳感器裝置自動(dòng)給每一個(gè)測(cè)量值編上號(hào),我們要找出結(jié)果有沒(méi)有缺失。 我們將數(shù)據(jù)按照測(cè)量值編號(hào)排序,運(yùn)用LAG函數(shù),把偏移量設(shè)置為1,使得每一行與其前一行對(duì)應(yīng)起來(lái)。第一行將沒(méi)有對(duì)應(yīng)量,所以相應(yīng)地,將返回默認(rèn)值0。因?yàn)殚g隙不可能發(fā)生在第一行,所以我們通過(guò)之前要求測(cè)量值大于0而將其刪除。 剩下的就是一組虛擬的行,顯示的是前一行的測(cè)量值編號(hào)(“before_gap”)和當(dāng)前行的測(cè)量值編號(hào)(“after_gap”)。假如兩者之差大于1,就說(shuō)明這兩行之間存在間隙。 同時(shí)也要注重到,WITH子句在查詢開(kāi)始的時(shí)候把解析子查詢命名為“aquery”。那么我們就可以在主SELECT 語(yǔ)句中的WHERE 子句中訪問(wèn)“aquery”中的數(shù)列。
主站蜘蛛池模板: 久久精品伊人 | 国产精品久久久一区二区三区 | 国产精品三级视频 | 日韩一二三四五区 | 久久精品国产视频 | 天堂中文在线观看视频 | 欧美网站在线 | 毛片直接看| 亚洲va在线 | 天堂综合网久久 | 毛片视频在线免费观看 | 久草欧美| 国产精品久久久久久一区二区三区 | 天堂资源中文在线 | 久久精品免费 | 先锋av资源站 | 中出中文字幕 | 无遮挡黄色 | 国产成人亚洲综合a∨婷婷 国产三级精品三级观看 | 亚洲综合色站 | 亚洲欧美在线视频 | 久操伊人网 | 国产高清亚洲 | 精品久久久一区二区 | 免费视频国产 | 欧美特黄一级大片 | 国产精品一区二区视频 | 天堂综合网| 一区二区精品视频在线观看 | 夜夜撸av | 美女综合网 | 成人网在线免费观看 | 丁香av| 91在线观看喷潮 | 精品成人一区 | 久久久久99精品成人片三人毛片 | 乱lun合集男男高h | 久久久在线 | 成人免费观看在线视频 | 四虎最新地址 | 亚洲激情一区二区三区 |