PLSQL Language Referenc-PL/SQL集合和記錄-集合變數賦值-將集合操作結果賦給巢狀表
將集合操作結果賦給巢狀表
可以將SQL的MULTISET操作或SET函式呼叫的結果賦值給巢狀表。
MULTISET操作符將2個巢狀表合併成一個巢狀表。2個巢狀表的元素必須具有可比較的資料型別;SET函式接收一個巢狀表引數,返回一個相同資料型別的巢狀表,它的元素都是不同的。(即排隊了重複的元素)
DECLARE TYPE nested_typ IS TABLE OF NUMBER; --定義巢狀表型別 nt1 nested_typ := nested_typ(1,2,3); nt2 nested_typ := nested_typ(3,2,1); nt3 nested_typ := nested_typ(2,3,1,3); nt4 nested_typ := nested_typ(1,2,4); answer nested_typ; PROCEDURE print_nested_table (nt nested_typ) IS output VARCHAR2(128); BEGIN IF nt IS NULL THEN DBMS_OUTPUT.PUT_LINE('結果: null 集合'); ELSIF nt.COUNT = 0 THEN DBMS_OUTPUT.PUT_LINE('結果: empty 集合'); ELSE FOR i IN nt.FIRST .. nt.LAST LOOP output := output || nt(i) || ' '; END LOOP; DBMS_OUTPUT.PUT_LINE('結果: ' || output); END IF; END print_nested_table; BEGIN answer := nt1 MULTISET UNION nt4; print_nested_table(answer); answer := nt1 MULTISET UNION nt3; print_nested_table(answer); answer := nt1 MULTISET UNION DISTINCT nt3; print_nested_table(answer); answer := nt2 MULTISET INTERSECT nt3; print_nested_table(answer); answer := nt2 MULTISET INTERSECT DISTINCT nt3; print_nested_table(answer); answer := SET(nt3); print_nested_table(answer); answer := nt3 MULTISET EXCEPT nt2; print_nested_table(answer); answer := nt3 MULTISET EXCEPT DISTINCT nt2; print_nested_table(answer);
END;
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1107991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java反射給泛型集合賦值Java反射泛型賦值
- 物件屬性值賦給變數物件變數
- Python集合操作總結Python
- Guava集合--Immutable(不可變)集合Guava
- Javascript 解構賦值,將屬性/值從物件/陣列中取出,賦值給其他變數JavaScript賦值物件陣列變數
- Oracle 集合操作Oracle
- 列表切片賦值給另一個變數賦值變數
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- 變數的賦值 指標間接賦值變數賦值指標
- php之普通變數賦值、物件賦值、引用賦值的區別PHP變數賦值物件
- Hash Map集合和Hash Set集合
- Java集合學習記錄——IteratorJava
- Laravel Baum 巢狀集合模型中文文件翻譯-部分Laravel巢狀模型
- matlab中怎麼給符號變數賦值Matlab符號變數賦值
- Redis有序集合操作Redis
- 集合總結
- c#小灶——常量、變數和賦值C#變數賦值
- Java集合 - 集合知識點總結概述Java
- ES6:變數的結構賦值變數賦值
- Python&Redis 無序集合set、有序集合zset操作PythonRedis
- ES6學習筆記二(變數結構賦值)筆記變數賦值
- 【java】【集合】陣列和集合的基本概述Java陣列
- 字典和集合
- MySQL 命令列操作集合MySql命令列
- 04 - Mongdb的集合操作
- Oracle的集合操作(union、union all、intersect、minus集合函式)Oracle函式
- shell變數命名與賦值變數賦值
- 變數的解構賦值變數賦值
- shell 變數賦值問題變數賦值
- 數字索引賦值給多個變數簡單表示式索引賦值變數
- 【Java集合】1 集合概述Java
- Java備忘錄《集合》Java
- Numpy 排序搜尋計數與集合操作排序
- Java集合小記Java
- Map集合筆記筆記
- 泛型方法、初始集合和集合的遍歷泛型
- 回溯法求一個集合中和為定值的所有集合
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- 集合冪級數學習筆記筆記