Oracle | PL/SQL 學習 | Oracle Office Document | #1

PL/SQL, the Oracle procedural extension of SQL, is a portable, high-performance transaction-processing language

PL / SQL對SQL的一種補充,是一種可移植的高性能交易處理語言。

優點:

  1. 輕量集成
  2. 高性能
  3. 便捷
  4. 可拓展性
  5. 可管理
  6. 面向對象編程

特徵:

  1. PL/SQL combines the data-manipulating power of SQL with the processing power of procedural languages.
  2. When you can solve a problem with SQL, you can issue SQL statements from your PL/SQL program, without learning new APIs
  3. PL/SQL lets you declare constants and variables, control program flow, define subprograms, and trap runtime errors.
  4. You can break complex problems into easily understandable subprograms, which you can reuse in multiple applications.

解析:

  • 在SQL(數據處理)基礎上增加了過程處理的能力,這是邁向高級語言編程的重要指標。
  • 強調兼容性,可以在PL/SQL中毫不客氣地使用SQL語句。
  • 強調分治思想,可以將複雜的過程拆分成多個子過程,並讓子過程有效的溝通。

基於上述理念結合高級語言的一些流程控制,引申出一些語法

基本特性:

  • Error Handling:錯誤處理,使用Exception去捕獲異常
  • Block:編程單元(塊)
  • Variables and Constants:變量和常量
  • Subprograms:子程序
  • Package:執行單元,可以理解成一個應用程序
  • Triggers:觸發器,響應在數據庫中發生的事件
  • Input and Output:取決於執行邏輯
  • Data Abstraction:對數據進行抽象,可以理解成數據結構
  • Cursors:指向私有的SQL域,例如可以查詢這個語句有多少行收到影響
  • Composite Variables:可以理解成列表和數組,指具有內部組件的變量
  • Using the %ROWTYPE and %TYPE Attribute
    • %TYPE:爲了達到和參照變量一致的數據類型,同時不用修改PL/SQL代碼的需求
    • %ROWTYPE:讓你聲明一條代表數據庫中表或視圖全部或部分行的記錄

執行引擎流程:

  • 分別給SQL語句執行器和程序語句執行器來解析執行