国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

自定義臨時表實現及在Oracle Spatial應用

2024-08-29 13:41:24
字體:
來源:轉載
供稿:網友

  Oracle 臨時表功能介紹:
  
  Oracle中的臨時表是全局的,需要在數據庫設計時創建完成,而不是程序使用時。每個登陸用戶都使用這一個相同的臨時表,但互相之間看不到彼此的數據,也就是說臨時表是會話獨立的。
  
  Oracle 的臨時表分為事務型和會話型。
  
  事務型臨時表就是指在事務處理過程中插入的記錄只在事務提交或回滾之前有效,一旦事務完成,表中的記錄便被自動清除。
  
  會話型臨時表指臨時表中的數據在本次會話期間一直有效,直到會話結束。會話結束后表中針對此次會話的數據會自動清空。
  
  Oracle 臨時表的不足之處:
  
  1、不支持lob對象,例如 Spatial 的SDO_GEOMETRY.這也許是設計者基于運行效率的考慮,但實際應用中確實需要此功能時就無法使用臨時表了。
  
  2、不支持主外鍵關系。這意味著臨時表
  
  鑒于以上原因,灑家設計了一份自定義的臨時表處理辦法,使之可以支持Oracle Spatial數據類型和主外鍵關系,而且不會出現并發沖突。
  
  1、以常規表的形式創建臨時數據表的表結構,但要在每一個表的主鍵中加入一個 sessionID 列以區分不同的會話。(可以有lob列和主外鍵)
  
  2、寫一個用戶注銷觸發器,在用戶結束會話的時候刪除本次會話所插入的所有記錄(SessionID等于本次會話ID的記錄)。
  
  3、程序寫入數據時,要順便將當前的會話ID(SessionID)寫入表中。
  
  4、程序讀取數據時,只讀取與當前會話ID相同的記錄即可。
  
  功能增強的擴展設計:
  
  1、可以在數據表上建立一個視圖,視圖對記錄的篩選條件就是當前會話的SessionID.
  
  2、數據表中的SessionID列可以通過Trigger實現,以實現對應用層的透明性。
  
  3、高級用戶可以訪問全局數據,以實現更加復雜的功能。
  
  擴展臨時表的優點:
  
  1、實現了與Oracle的基于會話的臨時表相同的功能。
  
  2、支持SDO_GEOMETRY等lob數據類型。
  
  3、支持表間的主外鍵連接,且主外鍵連接也是基于會話的。
  
  4、高級用戶可以訪問全局數據,以實現更加復雜的功能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪江市| 芜湖市| 五原县| 高阳县| 唐山市| 台湾省| 九江市| 桦川县| 彰化县| 班玛县| 桓台县| 盘山县| 阳山县| 都兰县| 隆尧县| 苍梧县| 辉县市| 临桂县| 东兴市| 宾阳县| 乐陵市| 衡南县| 西平县| 陵川县| 夏津县| 陇西县| 雷波县| 荣昌县| 平顶山市| 清新县| 麻阳| 石台县| 堆龙德庆县| 万安县| 桑日县| 虎林市| 浮梁县| 灵石县| 江口县| 泰州市| 锡林浩特市|