PL SQL 集合型別

2021-08-31 19:46:59 字數 1718 閱讀 7096

--建立乙個型別

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]

PLSQL集合型別

plsql 集合型別 聯合陣列 索引表 用於儲存某個資料型別的資料集合型別 通過索引獲得聯合陣列中得值 如下例子 declare cursor cur chars is select chars from a 宣告游標 type str type is table of a.chars type 宣...

PLSQL集合型別的使用總結

plsql集合型別的使用總結 在pl sql 中,集合 collection 是一組有序的元素組成的物件,這些元素的型別必須一致。pl sql 將collection 分成3 類,分別為associative arrays 也稱index by tables nested tables varray...

PLSQL集合總結

一 索引表 描述1 索引表只能作為pl sql符合資料型別使用,而不能作為表列的資料型別使用。2 索引表的下標可以為負值,索引表的下標沒有限制。語法type index table type is table of element type index by varchar2 binary inte...