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

例如:

   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. Solr6 +mmseg4j+IK-Analyzer + SQLserver +DIH 完全配置

    如今做任何一个系统都有搜索,而搜索界有著名的三剑客: solr/elasticsearch/sphinx solr/elasticsearch 为同一类的,都是基于lucene开发的产品,本人也早在几 ...

  2. select * from sys.sysprocesses

    MSDN:包含正在 SQL Server 实例上运行的进程的相关信息.这些进程可以是客户端进程或系统进程. 视图中主要的字段: 1. Spid:Sql Servr 会话ID 2. Kpid:Windo ...

  3. 【spring boot】spring cloud下spring boot微服务启动没有报错,但是访问访问不到

    spring cloud下spring boot微服务启动没有报错,但是访问访问不到 解决方法: 可能是端口被占用了,但是依旧启用成功了. 更改一下项目启用的端口号,再重新启动查看是否可以正常访问.

  4. html语义化小记录

    1.头部标签 <header></header> 2.大块集合 <article></article> 3.主要集和 <main></ ...

  5. hdu 1863 畅通project

    #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm& ...

  6. vue-resource的使用中需要注意的坑

    先看一段代码: export default { name: 'app', data() { return { articles: [] } }, created: function() { this ...

  7. jQuery:多个AJAX/JSON请求相应单个回调

    原文链接:jQuery: Multiple AJAX and JSON Requests, One Callback 原文日期: 2014年4月15日 翻译日期: 2014年4月22日 翻译人员: 铁 ...

  8. 除了cPickle,cjson外还有没有更高效点的序列化库了

    除了cPickle,cjson外还有没有更高效点的序列化库了 http://blog.csdn.net/chen_lovelotus/article/details/7228745 msgpack最快 ...

  9. xunsearch使用namespace后bug修复

    xunsearch在使用了namespace后会出现不能正常使用 错误例如以下: Fatal error: Uncaught [vendors\xunsearch\lib\XSException] . ...

  10. python 使用 urllib2

    使用basic auth 的3种方式 1. 设置header import urllib2 from base64 import encodestring headers = {'Content-Ty ...