1. 程式人生 > >【PLSQL系列】1.變數

【PLSQL系列】1.變數

1.標量變數

標量變數是指只能存放單個數值的變數。

定義標量變數:

identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr]

DEFAULT: 用於為變數和常量指定初始值。

Expr: 用於指定初始值的PLSQL表示式,可以是文字值、其他變數、函式等。

2.複合變數

複合變數是指用於存放多個值的變數。

a)PLSQL記錄

類似高階語言中的結構。

例子:

   b)PLSQL

類似高階語言中的陣列。但是PLSQL表的下標可以為負值;元素個數沒有限制。

例子:

c)巢狀表(Nested Table

類似高階語言中的陣列。下標不能為負值;元素個數沒有限制。

巢狀表可以作為表列的資料型別。需要注意,當使用巢狀表型別作為表列時,必須要為其指定專門的儲存表。

例子:

  

d)VARRAY

類似於巢狀表,它可以作為表列和物件型別屬性的資料型別。VARRAY的元素個數是有限制的。

例子:

  

注意,巢狀表列資料需要儲存在專門的儲存表中,而VARRAY資料則與其他列資料一起存放在表段中。 

3.參照變數

參照變數是指用於存放數值指標的變數。

a)REF CURSOR

靜態遊標:

需要在定義顯示遊標時指定相應的SELECT語句,這種顯示遊標稱為靜態遊標。

動態遊標:

在開啟遊標時指定SELECT語句,這種遊標稱為動態遊標。

例子:

  

b)REF obj_type

REF實際是指向物件例項的指標。

例子:

4.LOB變數

LOB變數是指用於儲存大批量資料的變數。

內部LOB:支援事物操作

CLOB/NCLOB用於儲存大批量字元資料。(需要大量文字說明的資料庫列定義為CLOB型別)

BLOB用於儲存大批量二進位制資料。(儲存照片等)

外部LOB:不支援事物操作。

BFILE:該型別的資料被儲存在OS檔案中。(OS電影檔案)