zoukankan      html  css  js  c++  java
  • 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 条件;

  • 相关阅读:
    Mac OSX下增加TCP连接数
    Connection reset by peer的常见原因及解决办法
    修改主机名
    docker 查看 docker容器启动 完整命令
    nginx 日志打印响应时间 request_time 和 upstream_response_time
    Ubuntu16.04 安装 Docker
    VictoriaMetrics vmagent 使用
    VictoriaMetrics vmauth 使用
    VictoriaMetrics集群模式的一些说明
    promgen prometheus 配置文件生成工具
  • 原文地址:https://www.cnblogs.com/waynelo/p/9291748.html
Copyright © 2011-2022 走看看