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 条件;

 

转载于:https://www.cnblogs.com/waynelo/p/9291748.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值