记录类型非常类似数据库表中的行. 记录作为一个整体本身并没有值, 不过每个单独成员或字段都有值, 记录提供了一种把这些值当做一组进行操作的方法.

例如:

   1:  -- create a table
   2:  -- chap11_01.sql
   3:  create table books (
   4:      book_id    integer;
   5:      isbn    varchar2(13),
   6:      title    varchar2(200),
   7:      summary    varchar2(2000),
   8:      author    varchar2(200),
   9:      date_published    DATE,
  10:      page_count    number
  11:  );
  12:   
  13:  -- 方法1
  14:  -- chap11_02.sql
  15:  declare
  16:      my_book    books%rowtype;
  17:  begin
  18:      select *
  19:        into my_book
  20:        from books
  21:       where title = 'oracle pl/sql programming, 5th Edition';
  22:       
  23:      if my_book.author like '%Feuerstein%'
  24:      then
  25:          dbms_output.put_line('Our newest ISBN is' || my_book.isbn);
  26:      end if;
  27:  exception
  28:      when no_data_found then
  29:          dbms_output.put_line('There is no data what you want it.');
  30:  end;
  31:  /
  32:   
  33:  -- 方法2
  34:  -- chap11_03.sql
  35:  declare
  36:      type author_title_rt is record (
  37:          author books.author%type,
  38:          title books.title%type);
  39:      l_book_info author_title_rt;
  40:  begin
  41:      select author, title into l_book_info
  42:          from books where isbn = '119'
  43:      dbms_output.put_line('author is : ' || l_book_info.author);
  44:      dbms_output.put_line('title : ' || l_book_info.title);
  45:  exception
  46:      when no_data_found then
  47:          dbms_output.putline('there is no data what you want');
  48:  end;
  49:  /

声明记录 3 种方式

1. 基于记录类型

declare one_book books%rowtype;

2. 基于游标记录类型

declare

cursor my_books_cur is

select * from books where author like ‘%FEUERSTEIN%’;

one_sf_book my_books_cur%rowtype;

3. 用户自定义的记录类型

例如上例中的方法 2 .

触发器伪记录

如果是在数据库触发器操作某个表, 数据库为我们提供了两种结构, OLD 和 NEW, 这两个结构是用 %rowtype声明的基于表的记录类型有相同的格式, 表中的每一列都有一个对应的字段:

OLD: 这条伪记录代表的是当前事务开始之前表中记录的值.

NEW: 这条伪记录代表的是当前事务结束之后, 表中记录的新值.

plsql programming 11 记录类型的更多相关文章

  1. Oracle-4 - :超级适合初学者的入门级笔记:plsql,基本语法,记录类型,循环,游标,异常处理,存储过程,存储函数,触发器

    初学者可以从查询到现在的pl/sql的内容都可以在我这里的笔记中找到,希望能帮到大家,视频资源在 资源, 我自己的全套笔记在  笔记 在pl/sql中可以继续使用的sql关键字有:update del ...

  2. PLSQL Developer 11 使用技巧(持续更新)

    PLSQL Developer 11 使用技巧 (持续更新) 目录(?)[-] 首先是我的颜色配置 常用快捷键 提升PLSQL编程效率 按空格自动替换 关闭Window窗口 PLSQL 实用技巧 TI ...

  3. oracle学习之路(二)------数组类型/记录类型的使用

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

  4. oracle中的记录类型

    单词RECORD有“记录”的意思,因此RECORD也称为“记录类型”,使用该类型的变量可以存储由多个列值组成的一行数据. 在声明记录类型变量之前,首先需要定义记录类型,然后才可以声明记录类型的变量. ...

  5. 域名注册域名解析域名绑定 dns服务器解析 域名记录的添加 记录类型含义@ www 访问域名请求过程

    创建一个web应用,简言之就是访问一个域名,可以到达一个地方,这个地方就是你存放供别人查看的文件的地方 就像一条绳,从这头拉一下,可以拉出来另一头的东西 主要有两个部分: 域名 虚拟主机(空间) 1. ...

  6. plsql developer 11 + Oracle 11g 开发环境setup

    这是一个很水的博客, 介绍搭建plsql developer 11+ Oracle 11g 开发环境. 1. 本机上安装Oracle 11g express 对于开发足够了, 300MB的下载文件, ...

  7. PL/SQL集合(一):记录类型(TYPE 类型名称 IS RECORD)

    记录类型 利用记录类型可以实现复合数据类型的定义: 记录类型允许嵌套: 可以直接利用记录类型更新数据. 传统操作的问题 对于Oracle数据类型,主要使用的是VARCHAR2.NUMBER.DATE等 ...

  8. DNS记录类型名单

    原文:http://www.worldlingo.com/ma/enwiki/zh_cn/List_of_DNS_record_types DNS记录类型名单 这 DNS记录类型名单 提供一个方便索引 ...

  9. dns记录类型(转)

    NS:(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终 ...

随机推荐

  1. hdu 1054 Strategic Game(tree dp)

    Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. winform TreeView树节点上下移动

    /// <summary> /// 上移 /// </summary> /// <param name="sender"></param& ...

  3. jQuery--样式

    Jquery(一)——样式篇1.$(document).ready 的作用是等页面的文档(document)中的节点都加载完毕后,再执行后续的代码, 因为我们在执行代码的时候,可能会依赖页面的某一个元 ...

  4. libCurl 简单使用

    curl easy  的使用步骤 curl_easy_init() curl_easy_setopt() curl_easy_perform() curl_easy_cleanup() ------- ...

  5. VisualSVN设置提交时必须输入log信息

    在别人的基础上修改的: 自己在Windows上用VisualSVN搭了个服务器,默认提交代码是可以不填任何信息,这可不是我所期望的,于是找到了下面的解决方案: 在VisualSVN的管理控制台中可以设 ...

  6. 【Todo】Nodejs学习计划

    /Users/baidu/Documents/Data/Interview/Web-Server开发/深入浅出Node.js-f46c.pdf /Users/baidu/Documents/Data/ ...

  7. Discuz! 7.1 & 7.2 远程代码执行漏洞

    受影响产品: Discuz! 7.1 & 7.2 漏洞描述: 产生漏洞的$scriptlang数组在安装插件后已经初始化 Discuz!新版本7.1与7.2版本中的showmessage函数中 ...

  8. smokeping网络监控

    一.smokeping介绍 我们在选择机房的时候,如何知道这个机房的网络情况,这个时候就要用到网络监控软件:smokeping 本文主要介绍如何使用smokeping来监控idc机房的网络质量情况,从 ...

  9. Java笔记3:Eclipse添加jar包

    本文以jedis包为例,演示Eclipse如何添加和使用jar包.   1 建立一个名为ImportJarDemo的JavaProject.在该工程下建立一个libs的文件夹. 2 将下载的jedis ...

  10. 数据挖掘算法之关联规则挖掘(一)apriori算法

    关联规则挖掘算法在生活中的应用处处可见,几乎在各个电子商务网站上都可以看到其应用 举个简单的例子 如当当网,在你浏览一本书的时候,可以在页面中看到一些套餐推荐,本书+有关系的书1+有关系的书2+... ...