declare
type t_indexby is table of number
index by binary_integer;
type t_nesteed is table of number;
type t_varray is varray(10) of number;
v_indexby t_indexby;
v_nested t_nested;
v_varray t_varray;
begin
v_indexby(1):=1;
v_indexby(2):=2;
v_nested:=t_nested(1,2,3,4,5);
v_varray:=t_varray(1,2);
end;另外帮忙解释下constraint 这个约束变量的作用。。例如constraint classes_department_course primary key(department,course) 这个,怎么理解~?
type t_indexby is table of number
index by binary_integer;
type t_nesteed is table of number;
type t_varray is varray(10) of number;
v_indexby t_indexby;
v_nested t_nested;
v_varray t_varray;
begin
v_indexby(1):=1;
v_indexby(2):=2;
v_nested:=t_nested(1,2,3,4,5);
v_varray:=t_varray(1,2);
end;另外帮忙解释下constraint 这个约束变量的作用。。例如constraint classes_department_course primary key(department,course) 这个,怎么理解~?
就是建立了一个名字为classes_department_course的主键,主键列在department,course,也就是department,course组合在一起,不能在表里重复你上面的语句,是要是示范了Oracle里的数组的使用的常用方式
table of number
index by binary_integer --是一种is table of number; ---是一种is varray(10) of number; --是一种后面的句子是简单示范了三种数组的 实例话方式v_indexby(1):=1;
v_indexby(2):=2; 对1,2两个元素赋值v_nested:=t_nested(1,2,3,4,5); -- 实例了一个含5个元素的数组,1,2,3,4,5是其中每个元素的值v_varray:=t_varray(1,2); --和上面一样,不过varray,定义以后就最大长度就不能扩增了,而table还可以
v_indexby(1):=1;
v_indexby(2):=2;
v_nested:=t_nested(1,2,3,4,5);
v_varray:=t_varray(1,2);
v_nested:=t_nested();
v_nested.extend;
v_nested(1):=1;
v_nested.extend;
v_nested(2):=2;
v_nested.extend;
v_nested(3):=3;
....而v_indexby不需要extend,v_varray和v_nested一样,不过长度不能超过定义的长度。
http://blog.csdn.net/inthirties/archive/2009/07/31/4396051.aspx还没有写完.. 回来继续更新。