标题: oracle中的嵌套表 [打印本页] 作者: 张兴康 时间: 2020-3-27 15:14 标题: oracle中的嵌套表 嵌套表是包含在表中的表,对每行数据项数目没有限制,一个表在另一表中是作为一列,主表中的每一行的嵌套表可以包含若干行。
创建嵌套表:
先创建一个类型:Create type ord_ty as object(itemcode varchar2(5),qty _ord number(5),Qty_held number(5));
创建另一个抽象数据类型,即嵌套表数据类型:Create type ord_nt as table of ord_ty
创建嵌套表:Create table order_mas (orderno varchar2(5),odate date, vencode varchar2(5), dets ord_nt) nested table dets store as ord_nt_tab;
向嵌套表中插入数据:
Insert into order_mas values(‘001’,to_date('18-07-08','DD-MM-YY'), 'V009',ord_nt( ord_ty('i001',10,5),ord_ty('i002',34,2));
更新嵌套表的值:
Update table(select e.dets from order_mas e where e.orderno='001') p Set value(p) =ord_ty('i090',8,9) where p.itemcode='i001';
删除嵌套表的值:
Delete from table(select e.dets from order_mas e where e.orderno='001') p where p.itemcode='i001';