oracle 10g 中针对 sql server 2003 新添加了一系列支持 advanced multiset 的运算符,他们可以用于对 oracle 数据库中的嵌套表进行处理.这个sql 新语法具有强大的功能,并弥补了 oracle 8i中对于嵌套表的不足之处.但是用户手册中给出的相关例子非常复杂,很难了解到这些新函数的使用方法.
/ 【程序编程相关:MySQL5的异常处理(1)】下面举个非常简单的例子来说明一下,假设我们要使用一个记录了整型数据的嵌套表.在创建嵌套表时,首先必须为将要创建的表指定一个表名,这个表将用来存放嵌套表的数据. create or replace type num_tab_typ as table of number; 【推荐阅读:MYSQL基本数据库术语】nested table num store as num_tab_store;然后往表中插入一些数列,这些数列分别为从1到5的数字,以及一些奇数数字与偶数数字.然后对其进行查询: 【扩展信息:在服务器上安装使用MySQL的注意事项】
create table num_tab (num num_tab_typ) insert into num_tab values (num_tab_typ(1,2,3,4,5));insert into num_tab values (num_tab_typ(1,3,5));insert into num_tab values (num_tab_typ(2,4,6));select num from num_tab;num
--------------------------num_tab_typ(1, 2, 3, 4, 5)num_tab_typ(1, 3, 5)num_tab_typ(2, 4, 6) 多重集运算符 except 可以实现查询中查询出不包含于另一个嵌套表的所有的值. 例如在下面这个例子中,查询语句可以查出在嵌套表中除了1以外其他所有的值: select num multiset except num_tab_typ(1) num from num_tab;num--------------------------num_tab_typ(2, 3, 4, 5)num_tab_typ(3, 5)num_tab_typ(2, 4, 6) 多重集运算符intersect 则是与 except 相反,它可以返回在两个嵌套表中相同的值.... 下一页