--查询并打印员工姓名和薪水
/**
1.光标的属性--4个属性,本节仅介绍2个
%found %not found
*/
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;
-- exit when 没有取到记录
exit when cemp%notfound;
-- 打印
dbms_output.put_line(pename||'的薪水'||psal);
end loop;
-- 关闭光标
close cemp;
end;
/
光标/游标的遍历
为什么要把数组叫做光标呢
光标:PL/SQL中使用光标代表一个集合(ResultSet)。
光标语法:如图,注意:定义光标时,CURSOR是定义光标的关键字,变量的名字放在它后面。
使用光标语法:如图,它的意思相当于执行select语句,得到集合。如图,从光标中取值并放入变量pename中。如图,当使用完光标后,还需要关闭,它的意思释放光标占用系统的一些资源。
fetch的作用:如图,它有两点作用。1、当开启光标的时候,初始化光标后,集合会有一个指针指向集合的第一条记录地址,fetch的第一个作用就是将该指针指向的记录返回。2、将指针移动后一条记录的地址。所以可以通过循环这个光标来返回集合中所有的记录。
举例:通过光标打印所有员工姓名和工资,定义光标规范,尽量把fetch后的变量和光标定义在一块。这里需要注意into后面字段的顺序要和查询语句的返回字段顺序一一对应。
判断光标中是否还有数据语法:这里需要了解光标的属性。
光标的属性:总共有四个属性。1、%found它代表如果fetch取到值,它的值就为true,否则就为false。2、%notfound它代表与第一种相反的意思。
光标语法
cursor 光标名 【(参数名 数据类型【,参数名 数据类型】...)】
is select 语句;
打开光标
open c1; (打开光标执行查询)
关闭光标
close c1; (关闭游标释放资源)
--取一行光标的值
fetch c1 into pename;(取一行到变量中)
光标使用样例
fetch才是真正的光标,它既可以存储一条记录然后把指针指向下一个单位
fetch取一条记录
光标(游标)实际上就是一个结果集(ResultSet)
fetch的作用
光标遍历demo
光标的属性:
%found:取到值
%notfound:没有取到值
fetch的作用:
把当前指针指向的记录返回
将指针指向下一条记录
光标在使用前:
open c1:打开光标
fetch c1 into pename: 取一行光标的值
close c1:关闭光标释放资源
一个具体的光标
cursor C1 is select ename from emp;
游标的使用:
使用光标来打印姓名和薪水
光标中取一行的记录:
fetch c1 into pename;(取一行到变量中)
光标的定义:
光标:是指向查询结果集的一个指针,通过游标可以将查询结果集中的记录逐一读取出来,并可以再PL/SQL程序块中进行处理。
光标就是一个结果集(Result set)
游标(光标):就是一个结果集(在plsql语句中来使用光标来代表一个集合)
光标的语法:
CURSOR 光标名[(参数名 数据类型[,参数名 数据类型]...)] IS SELECT 语句;
例如 :
cursor c1 is select ename from emp;
打开光标: open c1; (打开光标执行查询)
关闭光标: close c1; (关闭游标释放资源)
.取一行光标的值: fetch c1 into pename; (取一行到变量中)
光标中fetch的作用:1)把当前指针指向的记录返回
2)将指针指向下一条记录
属性:%found %notfound
光标(游标)的使用实例 光标的前2种属性。
光标(游标)定义语法
光标(游标)定义语法
光标属性%found %notfound