游标FOR循环
游标FOR循环是游标使用的最简单的方式,当使用游标FOR循环时,Oracle会隐含地打开游标、提取游标
数据并关闭游标。
语法格式: FOR record_name IN cursor_name Loop
statement1;
statement2;
end Loop;
cursor_name是已经定义的游标名;record_name是Oracle隐含定义的记录变量名(可以是任意名)
当使用游标FOR循环时,在执行循环体内容之前,Oracle会隐含地打开游标,并且每循环一次提取一次
数据,在提取了所有数据之后,会自动退出循环并隐含地关闭游标。
例子: declare
CURSOR emp_cursor IS select ename,sal from emp;
begin
FOR emp_record IN emp_cursor LOOP
dbms_output.put_line();
END LOOP;
end;
使用游标变量---打开游标变量时指定其所对应的select语句。
游标变量使用步骤:
(1)定义REF CURSOR类型和游标变量
语法如下: TYPE ref_type_name IS REF CURSOR[RETURN return_type];
cursor_variable ref_type_name;
ref_type_name 用于指定自定义类型名;
cursor_variable 指定游标变量名.
当使用指定return子句时,其数据类型必须是记录类型;
(2)打开游标
open cursor_variable for select_statement;
(3)提取游标、关闭游标。
eg: declare
TYPE emp_record_type IS RECORD(name VARCHAR2(10),salary NUMBER(6,2));
TYPE emp_cursor_type IS REF CURSOR RETURN emp_record_type;
emp_cursor emp_cursor_type;
emp_record emp_record_type;
begin
open emp_cursor for select ename,sal from emp where deptno=20;
Loop
FETCH emp_cursor INTO emp_record;
EXIT WHEN emp_cursor%NOTFOUND;
dbms_output.put_line();
end Loop;
close emp_cursor;
end;
游标FOR循环是游标使用的最简单的方式,当使用游标FOR循环时,Oracle会隐含地打开游标、提取游标
数据并关闭游标。
语法格式: FOR record_name IN cursor_name Loop
statement1;
statement2;
end Loop;
cursor_name是已经定义的游标名;record_name是Oracle隐含定义的记录变量名(可以是任意名)
当使用游标FOR循环时,在执行循环体内容之前,Oracle会隐含地打开游标,并且每循环一次提取一次
数据,在提取了所有数据之后,会自动退出循环并隐含地关闭游标。
例子: declare
CURSOR emp_cursor IS select ename,sal from emp;
begin
FOR emp_record IN emp_cursor LOOP
dbms_output.put_line();
END LOOP;
end;
使用游标变量---打开游标变量时指定其所对应的select语句。
游标变量使用步骤:
(1)定义REF CURSOR类型和游标变量
语法如下: TYPE ref_type_name IS REF CURSOR[RETURN return_type];
cursor_variable ref_type_name;
ref_type_name 用于指定自定义类型名;
cursor_variable 指定游标变量名.
当使用指定return子句时,其数据类型必须是记录类型;
(2)打开游标
open cursor_variable for select_statement;
(3)提取游标、关闭游标。
eg: declare
TYPE emp_record_type IS RECORD(name VARCHAR2(10),salary NUMBER(6,2));
TYPE emp_cursor_type IS REF CURSOR RETURN emp_record_type;
emp_cursor emp_cursor_type;
emp_record emp_record_type;
begin
open emp_cursor for select ename,sal from emp where deptno=20;
Loop
FETCH emp_cursor INTO emp_record;
EXIT WHEN emp_cursor%NOTFOUND;
dbms_output.put_line();
end Loop;
close emp_cursor;
end;
发表评论
-
Oracle特别函数---First_Value
2009-11-10 14:09 1856FIRST_VALUE 功能描述:返回组中数据窗口的第一个值。 ... -
oracle定时删除表空间的数据并释放表空间
2009-10-13 16:53 2615这两天我一个朋友问我 ... -
oracle定时任务(dbms_job)
2009-10-13 16:50 2301今天总结下oracle的任务队列管理器(job queue ) ... -
Decode函数的语法
2009-10-13 16:47 989Decode函数的语法结构如下: decode (expre ... -
Oracle 中truncate与delete的区别
2009-10-13 16:27 1025Oracle 中truncate与delete的区别 收藏 ... -
数据库---存储过程总结
2009-10-13 16:20 947定义: ... -
oracle执行计划的理解
2009-10-13 16:12 737执行计划的理解 计信息 ------------------ ... -
oracle定时添加或删除分区表的分区
2009-10-13 16:11 2081这几天,根据业务的需求和性能的考虑,需要定时删除历史数据,表里 ... -
Oracle常用数据字典表
2009-09-16 09:00 1106查看当前用户的缺省表空间 SQL>select us ... -
关于SQL中的“\”的转义
2009-05-30 08:23 948select ename from myemp where e ... -
Oracle存储过程学习(2)
2009-05-11 08:05 1145存储过程创建语法: create or rep ... -
ora-12154 TNS:"无法处理服务名"的一个解决方法
2009-04-13 15:48 1449很怪异的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机 ... -
触发器
2009-02-10 20:27 1018触发器 触发器是指被隐含执行的存储过程,当发生特定事件(例如修 ... -
Oracle 包
2009-02-06 20:08 1206包 包用于逻辑组合相关的PL/SQL类型、项、子程序,它由包 ... -
函数的纯度级别以及使用
2009-02-05 16:09 944函数的纯度级别以及使用 - 定义由函数读取或修改的数据种类。 ... -
管理存储过程和函数
2009-02-05 10:47 743管理存储过程和函数 1.列出当前用户的子程序 SQL>c ... -
Oracle 自定义函数
2009-02-04 14:49 3622函数 函数用于返回特定数据。执行时得找一个变量接收函数的返回值 ... -
Oracle存储过程
2009-02-04 11:05 1044Oracle存储过程 存储过程不仅可以简化客户端应用程序的开发 ... -
PL/SQL DEVELOPER 基本用法详解
2009-02-03 10:37 2369一.编辑表数据(浏览表 ... -
游标(一)
2009-02-01 15:28 812使用游标 当在pl/sql块中 ...
相关推荐
#### 二、隐式游标 隐式游标是在执行DML(数据操纵语言)操作或单行`SELECT INTO`语句时由Oracle自动创建的游标。它主要用于处理单行记录。 ##### 1. 使用场景 - **插入操作**:`INSERT` - **更新操作**:`UPDATE`...
#### 二、游标的声明与使用步骤 游标的使用通常包括以下几个步骤: 1. **声明游标**:首先需要声明一个游标,并指定该游标将使用的SQL语句。 2. **打开游标**:使用`OPEN`命令来打开游标,使它准备好读取数据。 3....
二、游标的分类 Oracle 游标可以分为两类:静态游标和动态游标。 1. 静态游标:静态游标是使用 cursor...is 语句定义的游标,它可以对查询语句(select)返回的多条记录进行处理。 2. 动态游标:动态游标是在运行...
#### 二、游标的基本操作 游标的基本操作包括:声明、打开、提取、关闭和释放。 1. **声明游标**(`DECLARE`):定义一个游标并指定它将要检索的数据。 2. **打开游标**(`OPEN`):使游标准备好读取数据。 3. **...
二、游标卡尺的使用规则 游标卡尺的使用规则主要包括两个方面:一是测量的准备工作,二是实际测量的过程。在测量前,需要确保游标卡尺的准确性和清洁度,然后选择合适的测量方式和单位。在实际测量过程中,需要将...
【Oracle游标学习二】 在Oracle数据库中,游标(Cursor)是一种重要的编程工具,它允许程序员逐行处理查询结果集。游标对于那些需要多次交互处理数据的应用程序至关重要,尤其是在进行复杂的业务逻辑操作时。在本文...
#### 二、游标的基本语法结构 游标的使用主要包括以下几个步骤: 1. **声明游标**:定义一个游标并关联到一个查询。 2. **打开游标**:使游标准备好读取数据。 3. **从游标中获取数据**:通常使用`FETCH`命令来获取...
#### 二、游标的作用 游标的主要作用包括: 1. **逐行处理数据**:通过游标,可以按需获取数据集中的每一行。 2. **灵活的数据操作**:可以对数据进行修改或删除等操作。 3. **提高性能**:对于大数据集,避免一次...
#### 二、游标的声明与使用 ##### 1. 显式游标的声明与打开 - **声明游标**:使用`CURSOR cursor_name IS select_statement;`来声明一个显式游标。其中`cursor_name`是你为游标起的名字,而`select_statement`是你...
**二、隐式游标** 隐式游标是Oracle在后台自动创建并使用的,用户无需显式声明。当执行DML(数据操纵语言)语句时,Oracle会预定义一个名为`sql`的隐式游标。隐式游标有四个主要属性: 1. `%FOUND`属性:如果DML...
二、动态SQL 动态SQL是指利用EXECUTE IMMEDIATE语句执行的SQL语句,例如: ```sql CREATE OR REPLACE PROCEDURE test1 IS v_num NUMBER; v_dmlstr VARCHAR2(200); v_coln VARCHAR2(64); BEGIN SELECT TO_NUM(TO...
#### 二、游标的基本语法结构 创建和使用游标通常涉及以下几个步骤: 1. **声明游标**:使用`DECLARE`语句声明一个游标,并指定要从中检索数据的查询。 2. **打开游标**:使用`OPEN`语句打开游标,使其准备好读取...
二、SQL游标使用方法 1. 在SQL Server中,游标的使用通常包括以下几个步骤: - DECLARE声明游标,定义游标的名称、返回结果集的SELECT语句及游标属性。 - OPEN打开游标,准备开始处理结果集。 - FETCH从游标中...
#### 二、游标算法概述 游标算法是一种用于角度测量的算法,特别适用于需要高精度测量的应用场景。它通过对传感器信号的处理,实现对旋转角度的精确测量。该算法的关键在于利用两个不同频率的脉冲信号之间的相位差来...
#### 二、游标的组成部分及其作用 每个游标必须包含以下四个部分: 1. **声明游标** (`DECLARE` 游标):定义游标并为其分配资源。 2. **打开游标** (`OPEN` 游标):执行定义的查询并将结果加载到游标中。 3. **从...
#### 二、游标的分类 Oracle游标主要分为两大类:显示游标和隐式游标。其中,显示游标又可以根据定义方式的不同细分为静态游标和动态游标。 ##### 显示游标 显示游标主要用于处理SELECT语句的结果集。当定义游标...
#### 二、游标的概念与优势 1. **游标定义**: - 游标是数据库中用于从包含多条数据记录的结果集中每次提取一条记录的一种机制。 - 它本质上是一个指向结果集中特定记录的位置指针。 - 游标通常与一个`SELECT`...
#### 二、游标声明与使用 在Oracle PL/SQL中,游标的声明和使用遵循一定的语法结构: 1. **声明游标**: ```sql DECLARE CURSOR cur_name IS SELECT column_list FROM table_name WHERE condition; ``` 在...
#### 二、游标的基本概念 ##### 2.1 游标概述 在数据库中,**游标**是一种非常重要的工具,它提供了一种灵活的方式来操作从表中检索出的数据。本质上,游标是一种能够从包含多条数据记录的结果集中每次提取一条...
二、游标的类型 Oracle 中有两种类型的游标: * 静态游标:结果集已经确实(静态定义)的游标。分为隐式和显示游标。 + 隐式游标:所有 DML 语句为隐式游标,通过隐式游标属性可以获取 SQL 语句信息。 + 显式...