WEB开发网
开发学院数据库Oracle PL/SQL定义部分之二复合数据类型 阅读

PL/SQL定义部分之二复合数据类型

 2009-03-12 13:10:50 来源:WEB开发网   
核心提示:复合类型 复合类型可以存储多个值,包括记录和集合,PL/SQL定义部分之二复合数据类型,集合是一维的,但是可以在集合中放入其它集合,记录在使用时必须先声明记录类型,然后定义记录变量,变成多维集合,集合又分为索引表、嵌套表和变长数组三种

复合类型  复合类型可以存储多个值,包括记录和集合。集合是一维的,但是可以在集合中放入其它集合,变成多维集合。集合又分为索引表、嵌套表和变长数组三种。要使用集合,我们首先要创建集合类型,然后声明该类型的变量。我们可以在任何PL/SQL块、子程序或包的声明部分使用TABLE和VARRAY关键字来声明集合类型。集合的作用域和同其他类型变量一样,在一个块或子程序中,当程序进入块或子程序时有效,退出时失效。在包中,集合在我们第一次引用包的时候有效,直至会话终止时才失效。

一、记录   

记录可以包括多个成员,从而可以保存多个值。记录中的成员的数据类型可以不同。记录在使用时必须先声明记录类型,然后定义记录变量,最后才能在PL/SQL中使用。

示例1:

DECLARE
 TYPE MyRecord IS RECORD(
 name VARCHAR2(10),
 age  SMALLINT
 );
 mr MyRecord;
 BEGIN
 mr.name:='zhangsan';
 mr.age:=20;
 DBMS_OUTPUT.PUT_LINE('姓名:'||mr.name||'    年龄:'||mr.age);
 END;

示例2: DECLARE
TYPE MyRecord IS RECORD(
  no    NUMBER(2),
  name  VARCHAR2(14),
  city  scott.dept.loc%TYPE
);
deptRecord MyRecord ;
BEGIN
--SELECT 语句后列的数目与记录中的变量数目相同
SELECT deptno,dname,loc into deptRecord FROM DEPT WHERE DEPTNO=30;
DBMS_OUTPUT.PUT_LINE(deptRecord.no||':'||deptRecord.name||':'||deptRecord.city);
END;

1 2 3 4 5 6  下一页

Tags:PL SQL 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接