原创 Oracle PL/SQL高級編程(第一彈:面向對象編程)

PL/SQL中對象的組成結構 PL/SQL中的對象類型是一種自定義的複合類型,與包的定義很相似,由兩部分組成: - 對象類型規範:是對象與應用的接口,用於定義對象的公用屬性和方法。 - 對象類型體:用於實現對象類型規範所定義的公用方法

原创 Oracle PL/SQL高級編程(第六彈:性能優化:使用DBMS_TRACE包)

如果寫了一個大而複雜的PL/SQL應用程序,想要跟蹤對子程序的調用,比如看到子程序的執行順序,則可以使用DBMS_TRACE包,該包的使用過程與DBMS_PROFILER類似,一個主要區別在於DBMS_TRACE可以設定需要跟蹤的事件:調

原创 Oracle PL/SQL進階編程(第十一彈:DML觸發器)

DML觸發器時一種用在表上的比較傳統的觸發器,用的最爲頻繁。 觸發器的執行順序 由於在一個表上可能定義多個觸發器,因此需要首先了解一下觸發器的執行順序。 單行觸發器執行順序 當在某一行上定義了多個觸發器時,執行順序如下: 1. BOFO

原创 JDK1.8 API翻譯(第一彈:Object)

API文檔鏈接如下: https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html 下面爲了方便對照翻譯,我把API文檔內容拷過來,一段一段翻譯。 java.lang.O

原创 Oracle PL/SQL高級編程(第七彈:性能優化:理解執行計劃)

瞭解SQL執行計劃並進行性能的調優非常的複雜,是一個需要專門研究的話題,這裏只是簡單的介紹一下,不過過多闡述。 什麼是執行計劃 Oracle數據庫系統中,爲了回血SQL語句,可能需要實現多個步驟,比如從數據庫中物理檢索數據行,或者用某種方

原创 JDK源碼解讀(第一彈:Object)

java.lang.Object類是java中所有類的父類,所有類默認繼承Object。這也就意味着,Object類中的所有公有方法也將被任何類所繼承。既然是最基本的類,那我們的JDK源碼解讀就從這個類開始。 (我這裏研究的源碼都是基於

原创 Oracle PL/SQL進階編程(第十五彈:動態SQL語句)

理解動態SQL語句 動態SQL語句基礎 動態SQL語句不僅是指SQL語句是動態拼接而成的,更主要的是SQL語句所使用的對象也是運行時期才創建的。出現這種功能跟PL/SQL本身的早起綁定特性有關,早PL/SQL中,所有的對象必須已經存在於數

原创 JDK源碼解讀(第二彈:Boolean)

我們知道有個基本類型叫boolean,它的值只有兩種,true或者false。Boolean類正是對基本類型boolean進行了封裝,提供了一些常用的方法。 看源碼之前建議先看一下API文檔,或者邊看源碼邊看API,這樣可以更好的理解。可

原创 Oracle PL/SQL高級編程(第四彈:性能優化:提高PL/SQL程序性能的一些編程習慣)

對於一個PL/SQL應用程序來說,影響性能的原因是來自多方面的,比如不良的編程方法,數據庫對象本身的構建不合理,表或索引的構建等都可能導致PL/SQL性能低下。 這裏總結了一些常見的影響性能的原因以及提高性能的方案,可以把這些當成一種編