plsql集合型別的使用總結
在pl sql 中,集合(collection) 是一組有序的元素組成的物件,這些元素的型別必須一致。
pl sql 將collection 分成3 類,分別為associative arrays (也稱index-by tables )、nested tables、varrays 。
associative arrays ,可以看著是乙個資料字典,有key,value 兩列。key 值可以是任意數字和字串,value 值可以是任意物件包括collection 型別的物件。
nested tables ,可以看著是乙個一維陣列,可使用數字編號可以依次操作每個陣列元素。
varrays ,可以看著是乙個預先已經定義好長度的一維陣列,可使用數字編號可以依次操作每個陣列元素。
nested tables 和varrays 可以做乙個字段型別,將資料儲存到資料庫的表中。使用sql 可以去操作它。所有的collection 都是一維的,但可以通過建立元素也是collection 的collection 物件來實現多維的collection 。
一、操作collection 物件
所有的操作collection 物件的方法分別是count, delete, exists, extend, first,last, limit, next, prior 和 trim 。
1 、這些方法在儲存過程和函式中用於操作collection 物件,使用點語法呼叫。注意,他們都不能在sql 語句中直接使用。
2 、extend 和trim 方法不能在associative arrays 中使用;因為資料字典中根本不需要去擴充套件它的,當然也不知道怎麼擴充套件。
3 、exists,count,limit,first,last,prior,next 是函式,有返回值的;
4 、extend,trim,delete 是儲存過程,沒有返回值,執行就執行了;
5 、exists,prior,next,trim,extend,delete 呼叫的引數對應於collection 的下標描述符,通常這些描述符都是數字,但是在associative arrays 中,有可能是字元竄。
6 、只有乙個方法可以在 null 的collection 上可以被呼叫,範圍boolean 型別的值。如果其他放在在 null 的collection 上呼叫後,會報 collection_is_null 錯誤。
PL SQL 集合型別
建立乙個型別 create or replace type project is object project no number 2 title varchar2 35 cost number 7,2 建立乙個集合 create or replace type projectlist is tab...
PLSQL集合型別
plsql 集合型別 聯合陣列 索引表 用於儲存某個資料型別的資料集合型別 通過索引獲得聯合陣列中得值 如下例子 declare cursor cur chars is select chars from a 宣告游標 type str type is table of a.chars type 宣...
PLSQL集合總結
一 索引表 描述1 索引表只能作為pl sql符合資料型別使用,而不能作為表列的資料型別使用。2 索引表的下標可以為負值,索引表的下標沒有限制。語法type index table type is table of element type index by varchar2 binary inte...