在编写pl/sql程序时,可使用标量(scalar)类型,复合(Composite)类型,参照(reference)类型,和LOB(Large Object)类型四种类型
标量类型 标量类型的含义是存放单个值。标量类型中又分为整形、数字、字符、日期和布尔等类型
(1) varchar2(n):该数据类型用于定义可变长度的字符串,其中 n 用于指定字符串的最大长度,其最大值为 32767 字节。当使用该数据类型定义变量是,必须注意,在PL/SQL块中使用该数据类型操纵varchar2表列时,其数值的长度不应该超过 4000 字节。
。。。。
当定义PL/SQL变量值时候,为了确保和数据库吻合而不发生冲突,可以使用%TYPE属性,这样的话会按照数据库列或者其他变量来确定新变量的类型和长度:
declare v_ename emp.ename%TYPE;
(2)参照变量。
ref cursor的使用例子
declare
type cl is ref cursor;
emp_cursor cl;
v_ename emp.ename%type;
begin
open emp_cursor for
select ename from emp where empno > 7800;
loop
fetch emp_cursor into v_ename;
exit when emp_cursor%notfound;
dbms_output.put_line(v_ename);
end loop;
close emp_cursor;
end;
ref obj_type则是可以实现在一张表的记录里面保存另外一张表的记录的指针的方法
(3)LOB变量,LOB用来存储大批量数据的变量,分为内部LOB和外部LOB,内部LOB包括CLOB,BLOB,NCLOB三种,他们的数据被存储在数据库中,支持事务操作,外部LOB只有BFILE一种,该对象的数据被存储在os中,数据库中存储指向os的指针,不支持事务操做,BFILE的比如说视频。