RECORD记录数据类型,是将多个基本数据类型变量组合成一个整体,作为一个复合数据类型使用

  • RECORD定义及使用
create or replace procedure zhzitywp.test is
--记录数据类型定义
type stu_record is record(id    integer      not null,name  varchar2(20) not null,score number(20,2) not null := 0
);
--声明记录数据类型变量
stu_record_val stu_record;
beginselect id,name,score into stu_record_val from user where rowid = 1;dbms_output.put_line(stu_record_val.id);dbms_output.put_line(stu_record_val.name);dbms_output.put_line(stu_record_val.score);
end test;

需要注意的是,RECORD记录数据类型,仅能接收单行多列的查询结果,如果查询结果返回是多行就需要配合数组使用

  • RECORD搭配数组使用
create or replace procedure zhzitywp.test is
--记录数据类型定义
type stu_record is record(id    integer      not null,name  varchar2(20) not null,score number(20,2) not null := 0
);
--记录数据类型的数组定义
type stu_record_arr is table of stu_record;
--声明数组变量
stu_record_arr_val stu_record_arr ;
begin--查询结果是多行多字段,此处不能使用select into,而要用select bulk collect intoselect id,name,score bulk collect into stu_record_arr_val from user;--遍历查询结果,每行都是一个RECORD记录数据类型for i in 1 .. stu_record_arr_val.count loopbegindbms_output.put_line(stu_record_arr_val (i).id);dbms_output.put_line(stu_record_arr_val (i).name);dbms_output.put_line(stu_record_arr_val (i).score);end;end loop;
end test;

上面用到的bulk collect,可以减少loop开销,将查询结果一次性加载到collections中,适用于select into、fetch into、returning into等语句,且所有的into变量必须是collections

ORACLE存储过程RECORD数据类型的使用相关推荐

  1. oracle权限分几种类型,Oracle权限和数据类型

    oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...

  2. oracle存储过程、声明变量、for循环|转|

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  3. oracle存储过程参考资料(网上转载)

    网址一:http://www.cnblogs.com/hero4china/articles/base_rule_oracle_procedure.html 给朋友讲解oracle proc的记录: ...

  4. oracle存储过程、声明变量、for循环(转)

    oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...

  5. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

  6. Oracle存储过程小解

    Oracle存储过程小解 1.创建语法create or replace procedure pro_name(paramIn in type, paramOUt out type,paramInOu ...

  7. Oracle存储过程(转)

    存储过程 1  CREATE OR REPLACE PROCEDURE 存储过程名 2  IS 3  BEGIN 4  NULL; 5  END; 行1: CREATE OR REPLACE PROC ...

  8. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  9. oracle存储过程实验报告总结,Oracle存储过程总结(一、基本应用)

    Oracle 存储过程总结 基本应用技巧,大家可以学习下oracle存储过程最基本的东西. 1.创建存储过程 create or replace procedure test(var_name_1 i ...

最新文章

  1. tcp协议不具备的功能是_TCP协议的状态深度解析,你知道的和不知道的都在这篇文章(干货)...
  2. 为什么文件会自动恢复成旧文件? -- windows server 2003
  3. 转型会员制,云集能否讲好电商下半场故事?
  4. 【Qt】2D绘图之窗口-视口转换
  5. wiremock 使用_使用WireMock进行更好的集成测试
  6. 鸿蒙王者荣耀想要转区吗,王者荣耀:跨系统角色转移功能终于上线,想要成功转区,这九点常识必须要知道!...
  7. 数据库零碎要点001_数据库的4大特性(原子性_持久性_隔离性_一致性)_数据库的隔离级别(脏读_幻读_不可重复读)_mysql如何设置隔离级别
  8. 【报告分享】2021-2022元宇宙报告-化身与智造:元宇宙座标解析.pdf(附下载链接)...
  9. 【二分】【线段树】hdu6070 Dirt Ratio
  10. 新年期间可能出现的街头骗术--收集
  11. 字母c语言教学课件,计算机二级考试C语言辅导课件.ppt
  12. 安卓新手入门基础知识
  13. 【032】基于51单片机的PT100热电阻温度计Proteus仿真设计
  14. 多图详解缓冲区溢出问题
  15. 启动U盘安装linux系统
  16. python可变数据类型和不可变数据类型
  17. php代码画表情包,canvas绘制表情包的示例代码
  18. 生成drl文件_drools原生drl规则文件的使用
  19. 18北大考研经验贴汇总
  20. Android 组件化方案 JIMU 体验

热门文章

  1. 对麦克斯韦方程组的理解(非常详细)
  2. 陀螺专访 | 元征科技CIO:疫情加速维修行业数字化进程
  3. 今天终于知道了什么是X-window中字体hinting的含义了!
  4. Tushare学习文档(十 电影票房)
  5. JS前端加密、JAVA后端解密详解
  6. Unsupported or unrecognized SSL message
  7. 机器人搏击大赛冠军_喜报|2019中国智能机器人格斗大赛,石大学子在轮式自主格斗A、B组中包揽双冠...
  8. rust高墙大门怎么造_rust自己建的高墙怎么拆 | 手游网游页游攻略大全
  9. 郑州轻工业大学实验题整合
  10. beecloud resrful api test(nodejs)