PL/SQL 光标的使用

原创 2016年08月28日 21:45:37
--游标(光标)的使用
--查询打印员工的姓名和薪水
/*
光标的属性
%found
%notfound
%isopen 判读光标是否打开
%rowcount 影响的行数
*/
set serveroutput on 
declare
--定义光标
cursor cemp is select ename,sal from emp;

--为光标定义变量
pename emp.ename%type;
psal emp.sal%type;

begin

open cemp;

loop

fetch cemp into pename,psal;
--思考 1. 循环什么时候结束? 2. fetch不一定能取到记录
exit when %notfound
dbms_output.put_line(pename||" "||psal);
end loop;
close cemp;
end;

--给员工涨工资
set serveroutput on 
declare
--定义光标 给哪些员工涨工资
cursor cemp is select empno,empjob from emp;
pempno emp.empno%type;
pjob emp.empjob%type;
begin
open cemp;
loop
fetch cemp into pempno,pjob;
exit when cemp%notfound
if pjob = 'p1' then update emp set sal=sal+1000 where empno = pempno;
    elsif pjob= 'p2 ' then update emp set sal=sal+500 where empno = pempno;
    else then update emp set sal=sal+100 where empno = pempno;
end if;
end loop;
close cemp;
commit;
end;

--修改光标数的限制
--系统对于同时打开的光标数量是有限制的,超过规定的数量,就不可以打开了 
alter system set open_cursors = 400 scope = both;
scope 的取值:both memory spfile

--带参数的光标
--查询某个部门中员工的姓名
set serveroutput on
declare
cursor cemp(dno number) is select enmame from emp where deptno=dno;
pename emp.ename%type;
begin;
--查询10号部门 人员的姓名
open cemp(10);
loop;
    fetch cemp into pename;
    exit when cemp%notfound;
    dbms_output.put_line(pename);

end loop;

end;
版权声明:本文为博主原创文章,转载注明出处。

相关文章推荐

PL/SQL程序设计之光标(游标)和例外的使用(二)

一.光标的介绍 1.光标的语法: CURSOR 光标名 [ (参数名 数据类型[,参数名 数据类型]…)] IS SELECT 语句; 2.作用:用于存储一个查询返回的...

pl/sql中光标cursor的使用笔记

cursor就是一个结果集,相当于Result,可以从数据库中取出多个纪录。 cursor的使用: 声明:cursor 光标名[(参数名 数据类型 [,参数名 数据类型])]

PL/SQL程序之光标

1、说明光标语法: CURSOR 光标名 [ (参数名 数据类型[,参数名 数据类型]...)] IS SELECT 语句; 2、用于存储一个查询返回的多行数据 3、打开光标: ...
  • w_l_j
  • w_l_j
  • 2012-03-21 18:28
  • 1590

PL/SQL之光标

1.光标的引入 光标(游标):就是一个结果集(ResultSet)。 2.光标的语法 CURSOR 光标名 [(参数名 数据类型[,参数名 数据类型]...)]   IS SELECT 语句;...

PL/SQL用光标查询多条记录

PL/SQL光标为程序提供了从数据库中选择多行数据,然后对每行数据单独进行处理的方法,它为Oracle提供了一种指示和控制SQL处理的各个阶段的方法。我将认为您已经对PL/SQL有一定的了解。通过本文...

PL/SQL中cursor(光标/游标)的用法

显式cursor 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor.显式游标的声明类似如下(详细的语法参加plsql ref doc ) cursor cursor_...

oracle基础知识2----pl/sql基础(基本语法、光标、例外、应用)

测试数据来源:http://blog.csdn.net/ochangwen/article/details/51297893     PL/SQL(Procedure Language/SQL),是...

PL/SQL使用(图文介绍)

  • 2017-07-18 17:02
  • 214KB
  • 下载

PL/SQL中if,case,loop使用

一.if语句--简单的if...else语句 declare var_id number(4); begin SELECT e.empno into var_id FROM EMP e whe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)