>  기사  >  데이터 베이스  >  Oracle--plsql复合数据类型

Oracle--plsql复合数据类型

WBOY
WBOY원래의
2016-06-07 17:12:481067검색

Oracle--plsql复合数据类型,复合组合变量也叫做组合变量,在复合变量中包括多个内部组件,每个组件都可以单独存放值,因此一个复

复合组合变量也叫做组合变量,在复合变量中包括多个内部组件,每个组件都可以单独存放值,
因此一个复合变量可以存放多个值。 
复合变量类型不是数据库中已经存在的数据类型,因此复合变量在声明类型之前,首先要先创建复合类型,

复合类型创建后可以多次使用,以便定义多个复合变量。

复合数据类型包括:  

-记录

-表

-嵌套表

-数组

 记录是由一组相关的数据项组成的逻辑单元,每一个数据项都有自己的名字和数据类型。
 
 表是数据的集合,可将表中的数据作为一个整体进行引用和处理。
 
 表由列和关键字组成,,其中通过关键字可成组地访问行。
 
 一经定义,记录和表都可重复使用。
 

PL/SQL 记录

记录是存储在多个字段中的一组相关的数据项,每个字段都有自己的名字和数据类型。 
把字段的集合当作一个整体的逻辑单元 
主要用于从表中取出查询到的行数据

记录的特点: 

 每个记录内都可以有许多字段。 
 可以为记录赋初值,同时可用NOT NULL来限定记录 
 无初始值的字段定义为NULL  在定义字段时也可以使用保留字DEFAULT 
 可以在任意一个块、子程序或包的声明部分定义RECORD类型并声明用户自定义的记录 
 可以声明并引用嵌套的记录,一个记录可以是其他记录的组件

语法:

  • TYPE type_name IS RECORD        
  • (field_declaration[, field_declaration]…);  
  • 其中field_declaration:

  • field_name {field_type | variable%TYPE              
  • | table.column%TYPE | table%ROWTYPE}              
  • [[NOT NULL] {:= | DEFAULT} expr]  

  •  

  • TYPE emp_record_type IS RECORD   
  •  (empno emp.empno%type,   
  •   ename emp.ename%type,   
  •   job varchar2(9));   
  • emp_record emp_record_type ;  
  • linux

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.