您好,登錄后才能下訂單哦!
其實內存表有點類似于java中的數組,但是它有比起數組更強大的地方。
1.首先來簡單介紹內存表的作用:
使用BINARY_INTEGER 類型構成的索引主鍵
簡單類型 或者用戶自定義類型的字段作為具體的數組元素
2.如何來使用內存表類型呢?
定義內存表類型
TYPE type_name IS TABLE OF 存儲類型(number , employees.last_name%TYPE , employees%ROWTYPE , varchar2)
INDEX BY (BINARY_INTEGER,varchar2(80)..)
---varchar2(80)表示下標可以通過字符串來訪問,這比java中數組功能強大
聲明該類型變量
identifier type_name
3.內存表中的一些屬性和方法
賦值:
identifier(1) := 'Jams' --這是index by binary_integer
identifier('A') := 'Jams' -- 這是index by varchar2
與java中數組區別就是內存表可以用字符串作為下標
3-1.count方法:
identifier.count --返回內存表中行的數目
3-2.exists方法:
identifier.exists(1) --判斷下標為1的元素存不存在
3-3.first 和 last屬性:
first:返回第一行的索引
last: 返回最后一行的索引
first 和 last的用法: 一般使用在遍歷內存表的情況 for i in identifier.first .. identifier.last loop ............ end loop 這里必須注意兩點: 1.如果內存表中沒有任何數據,但是你卻通過這種方式遍歷它,會報錯,所以在遍歷前應該用 count方法來做一次判斷 2.假如內存表中的數據下標不連續怎么辦? 比如 內存表只有identifier(2), identifier(5), 當遍歷到下標為1,3,4時,要做異常或報錯處理,否則會報錯。 |
3-4.delete方法:
identifier.delete(1) --刪除內存表中下標為1的元素
identifier.delete --刪除內存表所有元素
3-5.next和prior屬性:
identifier.next(1) --返回內存表中下標為1行的下一行索引
identifier.prior(2) --返回內存表中下標為2行的上一行索引
這里附帶上INDEX BY BINARY_INTEGER的作用
--http://blog.itpub.net/26690043/viewspace-722081/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。