简单了解一下oracle中的显示游标和存储过程
游标
游标主要分两类动态和静态游标,静态游标是编译时知道明确的select语句的游标,静态游标分类两种,显示游标和静态游标,这里只说显示游标
显示游标
declare
name emp.ename%type;
sal emp.sal%type; --声明两个变量
cursor emp_currsor is --声明游标
select ename,sal from emp;
begin
open emp_currsor; --第一步打开游标
loop
fetch emp_currsor into name,sal; --fetch提取游标
exit when emp_currsor%notfound; --判断游标是否还有值
dbms_output.put_line('第'||emp_currsor%rowcount||'个雇员'||name||sal);
end loop;
close emp_currsor; --最后一步关闭游标
end;
显示游标属性
%found:只有在DML语句影响一行或者多行时,%found属性才返回true
%notfound:如果没有影响任何行返回true
%rowcount:属性返回DML语句影响的行数.如果DML语句没有影响任何行,则%rowcount属性返回0
%isopen:返回游标是否已被打开
循环读取游标
declare
cursor cu_emp is
select * from emp;
lr_emp cu_emp%rowtype; --声明变量 begin
for lr_emp in cu_emp
loop
dbms_output.put_line('empName: ' || lr_emp.ename);
end loop;
end;
结果:
存储过程
--创建存储过程
create or replace procedure proc_getEmpList(v_empno number,vara varchar)
is
--遍历游标
cursor cu_emp is
select * from emp;
lr_emp cu_emp%rowtype; --声明变量 begin
dbms_output.put_line('v_empno: ' || v_empno||'vara:'||vara);
for lr_emp in cu_emp
loop
dbms_output.put_line('empName: ' || lr_emp.ename);
end loop;
end; --调用
begin
proc_getEmpList(123,'');
end;

简单了解一下oracle中的显示游标和存储过程的更多相关文章
- Oracle pl/sql 显示游标和隐式游标
显示游标 一.定义语法: CURSOR <游标名> IS <SELECT 语句> [FOR UPDATE | FOR UPDATE ...
- 简单了解,使用oracle中的索引,表分区
索引的分类 如下: 物理分类 逻辑分类 分区或非分区索引 单列或组合索引 B树索引(标准索引) 唯一或非唯一索引 正常或反向键索引 基于函数索引 位图索引 B树索引 b树索引通常也称为标准索引,索 ...
- PLSQL看oracle中汉字显示乱码
首先执行语句 select * from V$NLS_PARAMETERS 查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否为SIMPLIFIED CHINES ...
- Oracle中的游标
Oracle游标 概念:内存中的一块区域,存放select结果 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集.一.显示游标( ...
- MySQL存储过程中的3种循环,存储过程的基本语法,ORACLE与MYSQL的存储过程/函数的使用区别,退出存储过程方法
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环.还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体 ...
- Oracle中job的实例
一.Oracle定时器(Job)各时间段写法汇总 对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等 ...
- oracle中游标详细用法
转自:http://blog.csdn.net/liyong199012/article/details/8948952 游标的概念: 游标是SQL的一个内存工作区,由系统或用户以变量的形式定 ...
- oracle 中的游标
oracle 中的游标 通俗易懂的sql代码直接上! --简单的游标使用滴呀 --使用FOR OBJ IN OBJS LOOP ......END LOOP; DECLARE CURSOR C_JOB ...
- Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...
随机推荐
- C++ stl vector介绍
转自: STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if ...
- MongoDB 搭建Node.js开发环境
理解Mongoose Elegant MongoDB object modeling for Node.js 安装Mongoose $ cnpm install --save mongoose ...
- Javascript学习一Object
构造函数 new Object() new Object(value) 参数 value 可选的参数,声明了要转换成Number对象.Boolean对象或String对象的原始值(即数字.布尔 ...
- HttpFlexSession注册失败的怪问题
web.xml中已经注册了HttpFlexSession <listener> <listener-class>flex.messaging.HttpFlexSession&l ...
- Python数据报协议以及sockersever模块的使用
一.基于UDP协议的套接字 UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式 ...
- Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段
最近项目中使用了GreenDAO的3.0以上的版本,出现需要增加删除表的需求,刚开始用,发现官方对增加和删除的方法是每次去修改数据库版本号,版本一旦升级,那么原来数据库中的表会全部删除再重建.太麻烦, ...
- Mvc过滤器的使用【转载】
前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中不想让MVC开发人员去关心和写类似身份验证,日志,异常,行为截取等这部分重复的代码 ...
- selenium代理
selenium.KeyDown("id=ctaskName", "d"); selenium.KeyPress("id=cta ...
- Open Data for Deep Learning
Open Data for Deep Learning Here you’ll find an organized list of interesting, high-quality datasets ...
- aaS软件的必要特征分析,一定是多租户特性吗
本篇文章讲述了SaaS软件的必要特征一定是多租户特性?对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买.构建和维护基础设施和应用程序的需要 课课家教育平台提醒各位:本篇文章纯干 ...