Oracle记录类型介绍

RECORD:用户自己定义数据类型,由单行多列的标量构成的复合数据类型。它将一个或多个标量封装成一个对象进行操作记录不能够总体拿来比較也不能够总体推断为空。能够总体拿来赋值。组成相似于多维数组。

将一个或多个标量封装成一个对象进行操作。是一种暂时复合对象类型。

记录的创建和赋值

  • 定义记录类型语法例如以下:
TYPE record_name IS RECORD(
v1 data_type1 [NOT NULL] [:= default_value ],
v2 data_type2 [NOT NULL] [:= default_value ],
......
vn data_typen [NOT NULL] [:= default_value ] );
  • 一个记录类型的样例
 declare
TYPE T_Employee_rec is RECORD --定义记录的类型
(
c_FNumber T_Employee.FNumber%TYPE, --使用%TYPE获取此列的数据类型
c_FName VARCHAR(20),
c_FAge int,
c_FSalary NUMERIC(10,2)
); T_Employee_rec1 T_Employee_rec;--声明记录类型变量
begin
---给记录类型变量赋值
select FNumber,FName,FAge,FSalary into T_Employee_rec1
from T_Employee
where FNumber='SALES002';
dbms_output.put_line('FNumber='||T_Employee_rec1.c_FNumber);
dbms_output.put_line('FName='||T_Employee_rec1.c_FName);
dbms_output.put_line('FAge='|| to_char(T_Employee_rec1.c_FAge));
dbms_output.put_line('FSalary='||to_char(T_Employee_rec1.c_FSalary));
end;

注意:一个记录类型的变量仅仅能保存从数据库中查询出的一行记录,若查询出了多行记录。就会出现错误。

oracle数组类型简单介绍

数据是具有同样数据类型的一组成员的集合。每一个成员都有一个唯一的下标,它取决于成员在数组中的位置。

在PL/SQL中,数组数据类型是VARRAY。

  • 定义VARRY数据类型语法例如以下
TYPE varray_name IS VARRAY(size) OF element_type [NOT NULL];

varray_name是VARRAY数据类型的名称,size是下整数,表示可容纳的成员的最大数量,每一个成员的数据类型是element_type。默认成员能够取空值,否则须要使用NOT NULL加以限制。

对于VARRAY数据类型来说。必须经过三个步骤,各自是:定义、声明、初始化

  • 数组类型的小样例
 -- Created on 2015/6/11 by LYH
declare
--定义一个最多保存5个VARCHAR(25)数据类型成员的VARRAY数据类型
TYPE reg_varray_type IS VARRAY(5) of varchar(25);
--声明一个该VARRAY数据类型的变量
v_reg_varray reg_varray_type; begin
--用构造函数语法赋予初值
v_reg_varray :=reg_varray_type ('中国', '美国', '英国', '日本', '法国'); Dbms_Output.put_line('地区名称:'||v_reg_varray(2)||','||v_reg_varray(3)||','||v_reg_varray(4)); Dbms_Output.put_line('赋值为null的第5个成员的值:'||v_reg_varray(5));
v_reg_varray(5) :='俄罗斯';
Dbms_Output.put_line('赋值为null的第5个成员的值:'||v_reg_varray(5));
end;

oracle学习之路(二)------数组类型/记录类型的使用的更多相关文章

  1. oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)

    LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...

  2. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

  3. Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包

    子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中.   子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 ...

  4. python学习之路 二 :基本数据类型

    本节重点 理解什么是变量? 掌握各种数据类型 理解可变类型和不可变类型 一.变量和常量 变量: 作用:存贮程序的中间结果在内存里,以备后边的程序调用 定义规范: 变量名只能是 字母.数字活下划线的任意 ...

  5. oracle学习笔记(二十一) 程序包

    程序包 之前我们调用的dbms_output.put_line(''),dbms_output就是一个程序包 程序包创建语法 1. 声明程序包 --声明程序包中的过程,函数,自定义的类型 --程序包里 ...

  6. Lua 学习笔记(二)语法、类型、值

    首先Lua执行的每一段代码都称之为“程序块”,一个程序块也就是一连串的语句或命令,例如一个源码文件或一行代码.Lua语句之间并不需要分隔符,如代码中的换行就不起任何作用,当然为了养成编码习惯当两条或者 ...

  7. Oracle 学习之路开始

    今年刚毕业,从毕业到现在工作正式工作四个多月了(实习的几个月就不算了).工作之中遇到的困难不少,学到的东西也不少:但是感觉学到的东西还是不够,毕竟java水很深啊. 现在工作中并不是每天都能学到新的东 ...

  8. oracle学习笔记(二)表的查询

    --oracle表的管理 --创建表 )); --删除表 drop table users; --创建表 ),xm ),sex ),birthday date,sal ,)); ),cnmae )); ...

  9. C++学习日记(二)————初始字符串类型

    使用频率高,但操作复杂的数据有哪些? 做下总结: int; double;float;char;bool这些类型用的比较频繁,但并不复杂.但对于字符串来说(char数组)用的频繁但操作又复杂,只能用一 ...

随机推荐

  1. How to search Installed Updates

    Windows本身的控制面板中自带的搜索,无法根据补丁编号进行搜索 可以将补丁信息导出到文本,再用文本编辑器进行查找 https://www.concurrency.com/blog/w/search ...

  2. style="background-image: url(__HOMEPAGE__/views/IMJ2V2/images/banner2.jpg)"

    style="background-image: url(__HOMEPAGE__/views/IMJ2V2/images/banner2.jpg)" 一.问题 backgroun ...

  3. SpringMVC+MyBatis (druid、logback)

    数据库连接池是阿里巴巴的druid.日志框架式logback 1.整合SpringMVCspringMybatis-servlet.xml: <?xml version="1.0&qu ...

  4. 轻量级记事本工具:CintaNotes

    本片文章介绍CintaNotes小工具 功能介绍: 方便.快捷的记录笔记: 快捷地从任何地方等截取内容生成笔记: 高效的记事本内容查询: 轻松的标签管理 支持移动设备和电脑同步(估计要收费) 官网下载 ...

  5. JS的解析与执行过程—函数预处理

    声明:之所以分为全局预处理与函数预处理,只是为了理解方便,其实在实际运行中二者是不分先后的. 函数预处理阶段与全局预处理的差别: 函数每调用一次,就会产生一个LexicalEnviroment对象,在 ...

  6. perl编程问题

    一.Hash类型 1.hash遍历输出:如果hash遍历输出的时候不是按key则会按数组输出. my %hash=(); ${hash}{"a"}="1"; $ ...

  7. effective stl读书笔记 & stl里面提供的算法 & emplace & ostream_iterator

    加锁和解锁,也可以在构造函数和析构函数里面,自动调用. 相等和等价的关系:等价是用在排序的时候,跟less函数有关. vector,deque,string 要用erase-remove组合:而关联容 ...

  8. Python 查找Twitter中特定话题中最流行的10个转发Tweet

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-4 @author: guaguastd @name: fi ...

  9. MongoDB + node-mongoskin简单演示样例

    特点 无模式 MongoDB 中的每一条文档,都是一个 JSON 对象,因此你无需提前定义一个集合的结构,集合中的每一个文档也能够有不同的结构. 异步写入 MongoDB 默认全部的写操作都是『不安全 ...

  10. J2EE之13个规范标准概念

    主要是关于j2EE十三个规范的总结. java基础知识 首先java分为三类:J2ME.J2SE.J2EE. 依据开发软件的大小和量级他们的作用分别不同,J2ME是开发为机顶盒.移动电话和PDA之类嵌 ...