最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle取數(shù)據(jù)庫中最新的一條數(shù)據(jù)可能會(huì)遇到的bug(兩種情況)

 更新時(shí)間:2021年01月19日 11:10:00   作者:孟秋與你  
這篇文章主要介紹了oracle取數(shù)據(jù)庫中最新的一條數(shù)據(jù)可能會(huì)遇到的bug,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

記一次 開發(fā)中遇到的坑:

第一種情況 rowid

select * from table where rowid=(select max(rowid) from table )

這種方式是取最大的rowid作為最新的數(shù)據(jù),但是有一個(gè)隱患 :數(shù)據(jù)庫一旦有刪除操作,rowid不能保證每次都是遞增的!即max(rowid)并不一定就是最新的數(shù)據(jù),盡管可能不會(huì)每次復(fù)現(xiàn) 但這個(gè)問題是絕對存在的!

第二種情況 使用rownum (或相同思路)

select t.* from (select ti.sysno,ti.cr_date from t_insurance ti order by ti.selldatetime desc ) t where rownum = 1 

這有很大一個(gè)問題,如果排序字段數(shù)據(jù)庫使用的是date類型,而且存在時(shí)分秒剛好相同的數(shù)據(jù)(尤其高并發(fā)項(xiàng)目中),我們子查詢語句中 的確可以準(zhǔn)確的 order by desc出來,但是一旦外層套了一層select ,查出來的很可能就不是子查詢里面的第一條數(shù)據(jù),詳細(xì)如圖:
11:35:25存在兩條數(shù)據(jù) 執(zhí)行選中的查詢sql,

在這里插入圖片描述

但是 當(dāng)我們加了一層select,可以看到 已經(jīng)不是上面的第一條數(shù)據(jù)了

在這里插入圖片描述

類似的,不管怎么寫的花里胡哨,如下sql,子查詢里面 row_row = 1時(shí),sysno確實(shí)為3126 1018 0001 5Z14,但是外面套了一層select 結(jié)果也變了

 select * from
(select t.sysno,
  t.cr_date,
  row_number() over(order by t.cr_date desc) row_row from t_insurance t) 
  where row_row = 1

同理 用with temp as 也是一樣的情況,取不到最新的結(jié)果。

解決方法:

暫時(shí)沒有從寫什么高級的sql語句層面想到好的辦法,(如果有大佬有好的方法,希望可以指點(diǎn)一二)

提供一些思路:如果項(xiàng)目沒有上生產(chǎn) 或者說是小項(xiàng)目,那還可以追加自增列,或者數(shù)據(jù)庫使用時(shí)間戳類型,但是上了生產(chǎn) 改動(dòng)數(shù)據(jù)庫是大忌。

一般的,數(shù)據(jù)表中還會(huì)有其它的字段可以作為輔助排序,例如一段時(shí)間內(nèi)的單號是遞增的 那么可以多個(gè)字段排序 例如 order by date desc,orderNo desc ,(我是通過這種方式解決的,但還是不治根 萬一哪天遇到數(shù)據(jù)庫沒其他輔助排序字段 問題還是得不到解決)

實(shí)在不行 就根據(jù)實(shí)際業(yè)務(wù) 看看能不能對時(shí)間加限制(如果數(shù)據(jù)量不大 不加也罷),select * from table where date >=xxxx order by desc date ,然后把一堆數(shù)據(jù)查詢出來,在代碼里面list.get(0)取出第一條數(shù)據(jù)。

到此這篇關(guān)于oracle取數(shù)據(jù)庫中最新的一條數(shù)據(jù)可能會(huì)遇到的bug的文章就介紹到這了,更多相關(guān)oracle取數(shù)據(jù)庫中最新的一條數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

简阳市| 鞍山市| 道孚县| 宿州市| 滨州市| 长葛市| 密山市| 桃园市| 灵台县| 洱源县| 井冈山市| 桃江县| 惠安县| 临朐县| 古交市| 昆明市| 句容市| 韩城市| 沂水县| 五原县| 从化市| 哈尔滨市| 廉江市| 娱乐| 南丰县| 临沧市| 垦利县| 泾川县| 通州市| 夹江县| 忻州市| 南丰县| 襄樊市| 都江堰市| 张掖市| 长乐市| 视频| 九江市| 上林县| 古蔺县| 喜德县|