Oracle记录类型(record)和%rowtype
Oracle中的记录类型(record)和使用%rowtype定义的数据类型都是一种单行多列的数据结构,可以理解为一个具有多个属性的对象。其中属性名即为列名。
记录类型(record)
记录类型是一种由单行多列的标量构成的复合结构,将一个或多个标量封装成一个对象,可以看做是一种用户自定义数据类型。
用法:
1.声明记录名
type 记录名 is record(
filed1 type1[not null][:=expr1]
[,filed2 type2[not null][:=expr2,.....]
);
not null表示不能为空。
2.声明记录类型的变量
变量名 记录名;
3.向变量中插入数据
有很多方法都能插入数据,可以直接变量名.filed1 := 值;也可以使用select...into....语句(Oracle的select...into....只能对单行数据进行操作)。
例:select 列名1,列名2 into 变量名 from 表名 where 条件。
4.访问记录成员
变量名.filed。
记录类型的运算:
1.记录赋值,同一记录类型的变量可直接赋值。
变量1 := 变量2;
2.记录比较,记录不可以整体比较,只能比较记录的字段。
3.记录不可以整体判断为空,只能判断记录字段。
%rowtype
定义一个表示表中一行数据的变量。该变量的列名、数据类型都与数据表相同。
存取数方式为:变量名.列名;
用法:
1.声明变量
变量名 表名%rowtype;
2.赋值
a.每列单独赋值:变量名.列名:= 值;
b.select...into...语句赋值:select * into 变量名 from 表名;
3.取值
变量名.列名。
使用记录类型和%rowtype向表中更新数据
更新单行记录可使用记录类型和%rowtype,使用这种方式的前提是记录类型或%rowtype中的列和表中的列完全匹配。直接使用关键字row和记录类型或%rowtype类型的变量。
语法:
update 表名 set row = 变量名 where 条件;
Oracle记录类型(record)和%rowtype的更多相关文章
- oracle学习之路(二)------数组类型/记录类型的使用
Oracle记录类型介绍 RECORD:用户自己定义数据类型,由单行多列的标量构成的复合数据类型.它将一个或多个标量封装成一个对象进行操作记录不能够总体拿来比較也不能够总体推断为空.能够总体拿来赋值. ...
- PL/SQL集合(一):记录类型(TYPE 类型名称 IS RECORD)
记录类型 利用记录类型可以实现复合数据类型的定义: 记录类型允许嵌套: 可以直接利用记录类型更新数据. 传统操作的问题 对于Oracle数据类型,主要使用的是VARCHAR2.NUMBER.DATE等 ...
- 匿名块的四个类型(type rowtype record table)
Oracle PL/SQL块 匿名块的四个类型 type rowtype record table ---- type (列类型) %type类型是指声明变量的时候,参考某个表的某个列的类型---- ...
- oracle中的记录类型
单词RECORD有“记录”的意思,因此RECORD也称为“记录类型”,使用该类型的变量可以存储由多个列值组成的一行数据. 在声明记录类型变量之前,首先需要定义记录类型,然后才可以声明记录类型的变量. ...
- Oracle-4 - :超级适合初学者的入门级笔记:plsql,基本语法,记录类型,循环,游标,异常处理,存储过程,存储函数,触发器
初学者可以从查询到现在的pl/sql的内容都可以在我这里的笔记中找到,希望能帮到大家,视频资源在 资源, 我自己的全套笔记在 笔记 在pl/sql中可以继续使用的sql关键字有:update del ...
- 转载:oracle 自定义类型 type / create type
标签:type create oracle object record 一:Oracle中的类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarc ...
- plsql programming 11 记录类型
记录类型非常类似数据库表中的行. 记录作为一个整体本身并没有值, 不过每个单独成员或字段都有值, 记录提供了一种把这些值当做一组进行操作的方法. 例如: 1: -- create a table 2: ...
- oracle 自定义类型 type / create type
一:Oracle中的类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2. 2.数值类型.如:int.number(p,s).integ ...
- ORACLE存储过程中%TYPE和%ROWTYPE的区别
ORACLE存储过程中%TYPE和%ROWTYPE的区别 在存储过程中%TYPE和%ROWTYPE常用来在PL/SQL中定义变量 因为 t_emp emp%rowtype ;这个语句的意思是 定义一个 ...
随机推荐
- SpringCloud+Git+Maven+Docker+Jenkins自动化构建
1.JDK安装-OpenJDK安装 yum list java-1.8* yum install -y java-1.8.0-openjdk-devel.x86_64 PS: JDK安装有两种方法:一 ...
- WPF控件相对位置解析
WPF控件相对位置的获取方法是比较简单的.对于初学者来说,掌握这一技巧的应用,可以帮助以后对WPF的深入学习,而且在实际使用中,这是一个非常常用的方法. 我们知道WPF有着比较灵活的布局方式,关于某个 ...
- bitekind
xrp这个人到SNT家坐在IOST的椅子上,喝着THETA. 武之巅峰,是孤独,是寂寞,是漫漫求索,是高处不胜寒 逆境中成长,绝地里求生,不屈不饶,才能堪破武之极道. 凌霄阁试炼弟子兼扫地 ...
- Linq批量建表
public JsonResult CreateTable() { db = new RZBDbContext(); var query = (from c in db.Clients select ...
- ptyhon class定制方法
__iter__ 如果一个类想被用于for ... in循环.须实现一个__iter__()方法,该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的__next__() ...
- mem系函数总结
memset(); 原型: void *memset(void *s, int ch, size_t n); 含义: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的 ...
- Alpha Scrum1
Alpha Scrum1 牛肉面不要牛肉不要面 Alpha项目冲刺(团队作业5) 各个成员在 Alpha 阶段认领的任务 林志松:音乐网页前端页面编写,博客发布 吴沂章:博客编写 林锃寒:前端页面编写 ...
- linux shell数据重定向
标准输入 (stdin) :代码为 0 ,使用 < 或 << :标准输出 (stdout):代码为 1 ,使用 > 或 >> :标准错误输出(stderr):代码为 ...
- 用sql语句实现年龄分段统计
SELECT CASE WHEN (age >= 10 AND age <= 20) THEN '10-20' WHEN (age >= 21 AND age <= 30) T ...
- MATLAB入门学习(二)
关于矩阵 ~o( =∩ω∩= )m matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. 一个数字是1x1矩阵 我们来看看矩阵的 ...