ORACLE存储过程RECORD数据类型的使用
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数据类型的使用相关推荐
- oracle权限分几种类型,Oracle权限和数据类型
oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...
- oracle存储过程、声明变量、for循环|转|
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- oracle存储过程参考资料(网上转载)
网址一:http://www.cnblogs.com/hero4china/articles/base_rule_oracle_procedure.html 给朋友讲解oracle proc的记录: ...
- oracle存储过程、声明变量、for循环(转)
oracle存储过程.声明变量.for循环 1.创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty ...
- Oracle存储过程语法
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ...
- Oracle存储过程小解
Oracle存储过程小解 1.创建语法create or replace procedure pro_name(paramIn in type, paramOUt out type,paramInOu ...
- Oracle存储过程(转)
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROC ...
- Oracle存储过程基本语法介绍
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
- oracle存储过程实验报告总结,Oracle存储过程总结(一、基本应用)
Oracle 存储过程总结 基本应用技巧,大家可以学习下oracle存储过程最基本的东西. 1.创建存储过程 create or replace procedure test(var_name_1 i ...
最新文章
- tcp协议不具备的功能是_TCP协议的状态深度解析,你知道的和不知道的都在这篇文章(干货)...
- 为什么文件会自动恢复成旧文件? -- windows server 2003
- 转型会员制,云集能否讲好电商下半场故事?
- 【Qt】2D绘图之窗口-视口转换
- wiremock 使用_使用WireMock进行更好的集成测试
- 鸿蒙王者荣耀想要转区吗,王者荣耀:跨系统角色转移功能终于上线,想要成功转区,这九点常识必须要知道!...
- 数据库零碎要点001_数据库的4大特性(原子性_持久性_隔离性_一致性)_数据库的隔离级别(脏读_幻读_不可重复读)_mysql如何设置隔离级别
- 【报告分享】2021-2022元宇宙报告-化身与智造:元宇宙座标解析.pdf(附下载链接)...
- 【二分】【线段树】hdu6070 Dirt Ratio
- 新年期间可能出现的街头骗术--收集
- 字母c语言教学课件,计算机二级考试C语言辅导课件.ppt
- 安卓新手入门基础知识
- 【032】基于51单片机的PT100热电阻温度计Proteus仿真设计
- 多图详解缓冲区溢出问题
- 启动U盘安装linux系统
- python可变数据类型和不可变数据类型
- php代码画表情包,canvas绘制表情包的示例代码
- 生成drl文件_drools原生drl规则文件的使用
- 18北大考研经验贴汇总
- Android 组件化方案 JIMU 体验
热门文章
- 对麦克斯韦方程组的理解(非常详细)
- 陀螺专访 | 元征科技CIO:疫情加速维修行业数字化进程
- 今天终于知道了什么是X-window中字体hinting的含义了!
- Tushare学习文档(十 电影票房)
- JS前端加密、JAVA后端解密详解
- Unsupported or unrecognized SSL message
- 机器人搏击大赛冠军_喜报|2019中国智能机器人格斗大赛,石大学子在轮式自主格斗A、B组中包揽双冠...
- rust高墙大门怎么造_rust自己建的高墙怎么拆 | 手游网游页游攻略大全
- 郑州轻工业大学实验题整合
- beecloud resrful api test(nodejs)