婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle取數據庫中最新的一條數據可能會遇到的bug(兩種情況)

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

熱門標簽:地圖標注坐標圖標 鶴壁電話機器人價格 手機地圖標注門店 汽車4s店百度地圖標注店 網貸外呼系統合法嗎 電銷套路機器人 安陽企業電銷機器人供應商 杭州網絡外呼系統運營商 地圖標注效果的制作

記一次 開發中遇到的坑:

第一種情況 rowid

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

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

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

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

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

但是 當我們加了一層select,可以看到 已經不是上面的第一條數據了

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

 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 也是一樣的情況,取不到最新的結果。

解決方法:

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

提供一些思路:如果項目沒有上生產 或者說是小項目,那還可以追加自增列,或者數據庫使用時間戳類型,但是上了生產 改動數據庫是大忌。

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

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

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

您可能感興趣的文章:
  • zabbix agent2 監控oracle數據庫的方法
  • Python查詢oracle數據庫速度慢的解決方案
  • ORACLE數據庫對long類型字段進行模糊匹配的解決思路
  • 配置python連接oracle讀取excel數據寫入數據庫的操作流程
  • SpringBoot多數據庫連接(mysql+oracle)的實現
  • 使用zabbix監控oracle數據庫的方法詳解
  • Oracle數據庫下載與安裝的完整步驟
  • QT連接Oracle數據庫并實現登錄驗證的操作步驟
  • 使用IDEA對Oracle數據庫進行簡單增刪改查操作
  • Oracle數據庫scott用戶創建view視圖權限的操作方法
  • ORACLE數據庫應用開發的三十個注意事項

標簽:柳州 酒泉 南陽 泰安 梧州 銀川 河源 焦作

巨人網絡通訊聲明:本文標題《oracle取數據庫中最新的一條數據可能會遇到的bug(兩種情況)》,本文關鍵詞  oracle,取,數據庫,中最,新的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle取數據庫中最新的一條數據可能會遇到的bug(兩種情況)》相關的同類信息!
  • 本頁收集關于oracle取數據庫中最新的一條數據可能會遇到的bug(兩種情況)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 邯郸县| 虎林市| 普兰店市| 濉溪县| 大荔县| 卓尼县| 通州区| 商南县| 汕头市| 共和县| 河源市| 牡丹江市| 旺苍县| 十堰市| 漯河市| 鲁山县| 北宁市| 郯城县| 卫辉市| 敦煌市| 万安县| 彭山县| 广元市| 开江县| 鄂托克前旗| 灵台县| 永丰县| 荥阳市| 莲花县| 宿迁市| 长宁县| 谢通门县| 江华| 兴业县| 呈贡县| 定结县| 丹东市| 博湖县| 吕梁市| 工布江达县| 湘潭县|