【oracle】更新 oracle複合數據類型

1123-01 更新 oracle複合數據類型html

參考:
淺談oracle複合數據類型 http://wenku.baidu.com/view/79b6e13510661ed9ad51f399.html數據庫

oracle複合數據類型基礎知識
http://wenku.baidu.com/view/95a0722bba1aa8114431d998.html?from=search數組

Oracle複合類型之RECORD http://wenku.baidu.com/view/d3540427482fb4daa58d4b17.html?from=searchoracle

ORACLE中游標和複合數據類型
http://wenku.baidu.com/view/16312c154431b90d6c85c735.html?from=search函數

oracle三種數組 http://wenku.baidu.com/view/b438aa4dcf84b9d528ea7a23.html?from=searchfetch

 

 

 

記錄 ,3種 集合(數組)spa

記錄:單行多列
集合:多行單列.net

記錄的定義:
1.顯示定義
2.隱式定義
3.遊標定義htm

記錄的賦值:
1.賦值語句 select into
2.賦值符 :=
3.遊標提取語句 fetch into對象

記錄 的應用:遊標的提取

 

 

3種集合
1.PL/SQL表(index_by表,索引表)
2.netsted_table(嵌套表)
3.varray|varying array 變長數組

1.數據稀疏性(sparsity):元素下標是否間隔
2.數據綁定:元素數量限制
3.數據庫存儲能力:可否存儲在DB中;元素數據類型

集合的初始化
1.index_by表
無需初始化,定義後能夠直接賦值
2.nested_table,varray
使用 構造函數 進行初始化


集合的賦值:
1.賦值語句 select into
2.賦值符 :=
3.遊標的提取:逐行提取
fetch <cursor> into <一維數組>
4.遊標的提取:一次性提取所有
fetch <cursor> bulk collect into <二維數組>
當<cursor>返回 單行記錄 時,也能夠用於 <一維數組>。
說明:oracle中沒有 一維數組,二維數據,可是 oracle的複合數據類型 能夠實現相同的功能。

一維數組:記錄(元素爲標量數據類型),集合( 元素爲標量數據類型 )
二維數組: 記錄(元素爲複合數據類型),集合( 元素爲複合數據類型 )

集合的擴展:
1.index_by表:元素個數沒有限制,limit()爲null,無需extend,賦值便可擴展元素個數。
2.nested_table表:默認個數即 構造函數 參數個數,;下標默認連續且從1開始;溢出的下標 須要先擴展,再賦值。
3.varray|varying array變長數組: 個數在定義時由max_size指定;下標默認連續且從1開始;溢出的下標 須要先擴展,再賦值。


元素的數據類型:
1.index_by
標量
任何合法的PL/SQL類型
2.nested_table
標量
記錄,集合
3.varray
標量
記錄(標量)


集合的函數/方法(面向對象的叫法):
1.構造函數
類型名([元素列表])
2.內建函數
長度
擴展元素,刪除元素
元素是否存在
首個,末個元素


嵌套表的應用:遊標的 bulk collect

 

3種集合的內建函數:非法內建函數:1.index_by表:exist()extend()extend(x)extend(x,n)理解:index_by表賦值便可擴展,因此extend方法非法。2.nested_table表exist()3.varray|varying array:exist()delete(idx)delete(idx1,idx2)

相關文章
相關標籤/搜索