游标有什么用,如何使用在oracle中?
解决方案 »
- 【求真相】如何使用工具PL/SQL Developer将由表空间SA用户UA导出的数据导入到用户UB的表空间SB下
- 在oracle的insert select连用时的主键值是大家是怎么解决的
- 存储过程调用:sqlora8.dll错误?
- 关于单向复制。
- 以用户指定的格式复制一个数据文件至数据库表中
- 安装 Oracle 11gR2 RAC grid执行到网络配置助手时报错
- 请问,如果在使用count(*)的时候,将相同的记录计算为一个
- 在Oracle中怎么样将Table1的所有记录导入到Table2中?谢谢!
- 请问将表中的前十条或后十条记录拿出来的是什么?
- 如何将7.03.02版本Oracle数据库导出的文件导入到8.1.6的Oracle数据库中?
- SQL语句格式变换为ORACAL时碰到困难,SOS
- plsql中建立任务
select 语句要求是格式如下
select 字段 into 变量 from 表名
要求select 结果只能有一条而有时候需要对一个select 结果集进行的一定的操作
就需要用游标
cursor 游标名
is
seletc 字段1,字段2 from 表名begin
open 游标名;
loop
FETCH 游标名 into 变量1,变量2//(此处根据select的字段数赋值给相等数量的变量)
EXIT WHEN 游标名%NOTFOUND;
//此处对这些数据做相应的操作
end loop;
close 游标名;
end;
set serveroutput ondeclare
emp_sal_cur emp.sal%type; --定义一个游标变量
cursor emp_sor is select sal from emp where sal<2000; --定义游标
begin
open emp_sor; --打开游标
loop --进入循环体
fetch emp_sor into emp_sal_cur; --赋值
exit when emp_sor%notfound; --如果找不到游标就不循环了
dbms_output.put_line(emp_sor%rowcount||'.工资:'||emp_sal_cur); --打出游标的目录
end loop;
close emp_sor;--关闭游标
end;
有时候需要对一个select 结果集进行的一定的操作
就需要用游标 提高查询速度
cursor emp_sor is select sal from emp where sal <2000; --定义游标
for a in emp_sor loop--打开游标
XXX := a.sal --赋值
end loop;