PL/SQL 集合类型

--创建一个类型
CREATE OR REPLACE TYPE Project IS OBJECT (
project_no NUMBER(2),
title VARCHAR2(35),
cost NUMBER(7,2))
--创建一个集合
CREATE OR REPLACE TYPE ProjectList is table of Project


-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
V_PRO project :=project(NULL,NULL,NULL);
begin
--为集合增加元素
FOR I IN 1 ..4 LOOP
V_PRO.project_no := I;
V_PRO.title := I||' TITLE';
V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT):=V_PRO;
END LOOP;

--从集合中取元素
DBMS_OUTPUT.put_line(V_LIST.COUNT);

DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;

--注意project(I,I||' TITLE',I);
-- Created on 2011-10-11 by HUCHANGKUN
declare
-- Local variables here
i integer;
V_LIST projectlist := projectlist();
--V_PRO project :=project(NULL,NULL,NULL);
begin
-- Test statements here
FOR I IN 1 .. 8 LOOP
--V_PRO.project_no := I;
--V_PRO.title := I||' TITLE';
--V_PRO.cost := I;
V_LIST.EXTEND;
V_LIST(V_LIST.COUNT) := project(I,I||' TITLE',I);
END LOOP;

DBMS_OUTPUT.put_line(V_LIST.COUNT);

DBMS_OUTPUT.put_line(V_LIST(V_LIST.FIRST).project_no);
DBMS_OUTPUT.put_line(V_LIST(V_LIST.LAST).project_no);
end;


[b]【注意】
create type zjj as object (n number);
这个可以建立一个数据的类型对象,以后可以在其他地方引用,
而type zjj is record仅仅是声明一种类型,只能在存储过程里面使用
create table zjj1 of zjj 这个用法是有的[/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值