PLSQL Language Referenc-PL/SQL集合和記錄-巢狀表
巢狀表
在資料庫中,巢狀表是一種以不確定的順序儲存不確定數量的行的列型別。當從資料庫獲取巢狀表的值到PL/SQL巢狀表變數中,PL/SQL給行賦予從1開始的連續的索引。使用索引可以訪問巢狀表變數中的單獨的行。
variable_name(index) |
當從資料庫獲取並儲存巢狀表的時候,巢狀表的索引和行的順序可能不會保持不變。
當增加或刪除元素的時候,巢狀表變數佔用的記憶體空間也會增加和減少。
一個未初始化的巢狀表是一個NULL集合。
DECLARE TYPE Roster IS TABLE OF VARCHAR2(15); -- 巢狀表型別 --使用構造器初始化巢狀表變數 names Roster := Roster('AAAA', 'BBBB', 'CCCC', 'DDDD'); PROCEDURE print_names (heading VARCHAR2) IS BEGIN DBMS_OUTPUT.PUT_LINE(heading); FOR i IN names.FIRST .. names.LAST LOOP -- 迴圈所有元素 DBMS_OUTPUT.PUT_LINE(names(i)); END LOOP; DBMS_OUTPUT.PUT_LINE('---'); END;
BEGIN print_names('第1組:');
names(3) := 'EEEE'; -- 改變元素的值 print_names('第2組:');
names := Roster('FFFF', 'GGGG'); -- 改變整個巢狀表 print_names('第3組:');
END;
|
--獨立的儲存型別的巢狀表 CREATE OR REPLACE TYPE nt_type IS TABLE OF NUMBER; / CREATE OR REPLACE PROCEDURE print_nt (nt nt_type) IS i NUMBER; BEGIN i := nt.FIRST;
IF i IS NULL THEN DBMS_OUTPUT.PUT_LINE('nt為empty'); ELSE WHILE i IS NOT NULL LOOP DBMS_OUTPUT.PUT('nt.(' || i || ') = '); print(nt(i)); i := nt.NEXT(i); END LOOP; END IF;
DBMS_OUTPUT.PUT_LINE('---'); END print_nt; / DECLARE nt nt_type := nt_type(); -- 巢狀表變數初始化為empty BEGIN print_nt(nt); nt := nt_type(90, 9, 29, 58); print_nt(nt);
END;
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1107986/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 巢狀表(轉)Oracle巢狀
- sql server中巢狀事務*SQLServer巢狀
- element-ui的----el-form表單校驗巢狀表單校驗(表單多層巢狀)+el-table和el-form巢狀使用表單校驗UIORM巢狀
- 對比SQL中簡單巢狀查詢與非巢狀查詢CFSQL巢狀
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- SQL Server中存在真正的“事務巢狀”SQLServer巢狀
- Laravel Baum 巢狀集合模型中文文件翻譯-部分Laravel巢狀模型
- python 字典和列表巢狀用法Python巢狀
- python力扣刷題記錄——1614. 括號的最大巢狀深度Python力扣巢狀
- 物件導向 成員和巢狀物件巢狀
- javafx和swing巢狀使用的方法Java巢狀
- vue elementUI 表單校驗(多層巢狀)VueUI巢狀
- 2020-11-14 java------------巢狀遍歷集合,練習scanner和stringbuiled排序等APIJava巢狀UI排序API
- 記錄一次 postgresql 最佳化案例( 巢狀迴圈改HASH JOIN )SQL巢狀
- SQL Server的巢狀儲存過程中使用同名的臨時表怪像淺析SQLServer巢狀儲存過程
- 內聯和巢狀名稱空間巢狀
- 02-if巢狀和三目運算子巢狀
- 【react】實現動態表單中巢狀動態表單React巢狀
- 列表巢狀操作巢狀
- vue路由巢狀Vue路由巢狀
- 在MySQL中管理分層資料---鄰接表模型和巢狀集模型MySql模型巢狀
- plsql developer工具生成sql monitor reportSQLDeveloper
- 評論表設計 - 路徑列舉、巢狀集、閉包表巢狀
- MyBatis(六) sql片段定義、級聯查詢、巢狀查詢MyBatisSQL巢狀
- Python的if else 巢狀 和forin while 迴圈Python巢狀While
- 巢狀滾動設計和原始碼分析巢狀原始碼
- js中的函式巢狀和閉包JS函式巢狀
- vue 基礎入門筆記 18:路由巢狀Vue筆記路由巢狀
- Java集合學習記錄——IteratorJava
- 微課sql最佳化(14)、表的連線方法(3)-關於Nested Loops Join(巢狀迴圈)SQLOOP巢狀
- 記錄一個sqlSQL
- SCSS 巢狀屬性CSS巢狀
- SCSS 巢狀規則CSS巢狀
- 展開巢狀列表巢狀
- Locust 任務巢狀巢狀
- 巢狀類遞迴巢狀遞迴
- vue(19)巢狀路由Vue巢狀路由
- 巢狀子查詢巢狀
- Blazor巢狀傳遞Blazor巢狀