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. POJ 3974 Manacher算法(模板)

    Manacher模板题 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm&g ...

  2. 安装配置FreeBSD9全过程体验

    安装配置FreeBSD9全过程体验(时长11分钟) 总所周知,FreeBSD是一个高效.稳定的UNIX操作系统.在今年年初,FreeBSD 又发布了9.0版本,它将采用全新的文本安装器,升级ZFS文件 ...

  3. Android CardView卡片布局 标签: 控件

    CardView介绍 CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效果:CardView被包装为一种布局,并且经常在ListV ...

  4. Json 序列化以及反序列化的三种方式(二)

    1.什么是JSON? Json[javascript对象表示方法],它是一个轻量级的数据交换格式,我们可以很简单的来读取和写它,并且它很容易被计算机转化和生成,它是完全独立于语言的 2.Json支持下 ...

  5. WebAssembly学习(五):AssemblyScript - Hello World

    一.项目创建 1.创建AssemblyScript根目录 mkdir AssemblyScript 2.安装AssemblyScript开发依赖 cnpm install --save-dev Ass ...

  6. 利用反射实现Servlet公共类的抽取

    一次请求的执行过程: 请求:发送请求地址-->到达web.xml中,找到地址对应的servlet类-->通过反射调用该类的构造函数,创建该servlet类的对象-->通过当前对象调用 ...

  7. 读MBA经历回想(下)做法决定结果——北漂18年(49)

    上期聊了目的决定了手段,这次说说详细做法决定了最后的结果. 差额面试被淘汰的高分学员 2005年,是北京邮电大学工商管理学入学考试第一个差额淘汰的年份.意思是过分数线(165分)的人数超过了录取人数, ...

  8. Bag标签之中的一个行代码实行中文分词实例3

    例3: 分词(返回一个书包.以_0._1._2 ...取出分好的词) <bag id=words act=2words>我喜欢黄色高领T恤衫</bag> 注意没有name属性 ...

  9. UVA 12493 Stars (欧拉函数--求1~n与n互质的个数)

    pid=26358">https://uva.onlinejudge.org/index.phpoption=com_onlinejudge&Itemid=8&cate ...

  10. Linq案例

    1.牛刀小试 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...