#所有 SQL 语句都在行集上运行。SELECT 语句返回包含所有满足 SELECT 语句限定条件的行的完整结果集。
#应用程序需要一次处理结果集的一行或一个行块。游标是结果集的逻辑扩展,它使应用程序得以逐行处理结果集。
#1.基本游标使用
DECLARE MyCursor CURSOR
FOR SELECT strName,iPeriod from tbl_periodPara
declare @tmpStrName varchar(40),@tmpiPeriod varchar(40)
OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @tmpStrName,@tmpiPeriod
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'strName =' + @tmpStrName + ' iPeriod =' + @tmpiPeriod
FETCH NEXT FROM MyCursor
INTO @tmpStrName,@tmpiPeriod
END
CLOSE MyCursor
DEALLOCATE MyCursor
#2.创建以游标为返回参数的存储过程
if EXISTS (SELECT * FROM dbo.sysobjects where name = 'TestCursor')
drop procedure TestCursor
GO
create procedure TestCursor
@startTime int,
@endTime int,
@iCursor CURSOR VARYING OUTPUT
as
declare @result int
set @result = 2
SET @iCursor = CURSOR FORWARD_ONLY STATIC FOR select strName,iPeriod from tbl_periodPara where iPeriod > @startTime and iPeriod < @endTime
print 'result is ' + CAST(@result as char(10))
OPEN @iCursor
return @result
GO
print 'before execute TestCursor'
declare @result int
declare @MyCursor CURSOR
declare @tmpStrName varchar(40),@tmpiPeriod varchar(40)
exec @result = GetOrderInfoBetweenTime1andTime3 1,721,@MyCursor output
print @result
FETCH NEXT FROM @MyCursor
INTO @tmpStrName,@tmpiPeriod
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'strName =' + @tmpStrName + ' iPeriod =' + @tmpiPeriod
FETCH NEXT FROM @MyCursor
INTO @tmpStrName,@tmpiPeriod
END
print 'after execute TestCursor'
GO
分享到:
相关推荐
首先,我们来了解一下PL/SQL中的基本游标概念。PL/SQL中的游标实际上是一个内存中用于存储查询结果的区域。使用游标的目的是允许逐行遍历数据集,并对每一行进行操作。在PL/SQL中执行DML语句(如INSERT、UPDATE、...
1. **基本游标遍历**: ```sql DECLARE CURSOR c_test_main IS SELECT id, value FROM test_main; v_main_data c_test_main%ROWTYPE; BEGIN OPEN c_test_main; LOOP FETCH c_test_main INTO v_main_data; ...
单个游标用于基本的读取操作,而多个游标则可以用于比较多个数据点或者进行复杂的测量。 2. **游标参数**:这些参数包括游标的颜色、形状、可见性以及精度。颜色和形状可以帮助用户更容易地区分不同游标;可见性...
### Oracle中的游标详解 ...无论是哪种类型的游标,其基本的操作步骤都是类似的:声明、打开、提取数据以及关闭。此外,通过使用循环结构,可以有效地遍历游标中的每一行数据,从而实现复杂的业务逻辑处理。
1. 游标更新的基本概念 游标是数据库中的一种数据结构,它可以用来存储和处理查询结果。在使用游标更新数据库时,需要在声明游标的时候使用 FOR UPDATE 选项,以便在打开游标时锁定游标结果集与表中对应数据行的...
游标的基本操作包括:声明、打开、提取、关闭和释放。 1. **声明游标**(`DECLARE`):定义一个游标并指定它将要检索的数据。 2. **打开游标**(`OPEN`):使游标准备好读取数据。 3. **提取数据**(`FETCH`):从...
#### 一、游标基本概念 游标是数据库管理系统中的一个重要概念,主要用于处理查询结果集中的数据记录。它允许用户逐行地读取和处理这些记录,这对于需要对每一行数据进行特定操作的情况非常有用。在SQL语言中,游标...
首先,游标的基本概念是它提供了一种方式来跟踪并控制SQL查询的结果集。在Oracle中,游标有四种状态:未打开、已打开、正在提取和已关闭。以下是一个简单的游标声明和使用的例子: ```sql DECLARE -- 声明变量来...
1. **游标的基本概念** - 游标(Cursor):它是一个数据库系统中的结构,用于存储执行SQL查询后的结果集信息。游标允许我们遍历结果集,并对每一行进行操作。 - 局部游标和全局游标:局部游标在PL/SQL块中定义,仅...
显式游标需要用户自己定义并管理,其基本使用步骤如下: 1. **声明游标**:定义游标并关联SQL查询语句。 ```sql DECLARE CURSOR cur IS SELECT * FROM table_name; BEGIN -- 使用游标 END; ``` 2. **打开...
游标对于初学者来说可能有些抽象,但一旦掌握了其基本使用方法,就能在很多场景下发挥巨大的作用。下面我们将详细探讨SQL经典游标的应用。 首先,我们需要理解游标的基本概念。游标创建了一个指向结果集中特定位置...
1. **游标的基本概念**: 游标(Cursor)是一种机制,它允许我们遍历和操作由SQL查询返回的结果集。通过游标,我们可以控制数据的读取顺序,一次只处理一行,或者在处理完一行后移动到下一行。 2. **游标的属性**...
1. **游标的基本概念** - 游标(Cursor)是一个数据库对象,它存储了执行SQL查询后的结果集信息。在PL/SQL中,游标可以是隐式的或显式的。 - 隐式游标:在PL/SQL中,当我们执行一个DML语句(如SELECT, INSERT, ...
INSENSITIVE类型的游标会将查询结果存放在一个临时表中,这个临时表位于tempdb数据库下,对基本表的修改不会影响游标提取的数据,同样地,通过游标也无法直接更新基本表。而SCROLL类型提供了灵活的数据提取操作,...
#### 二、游标的基本语法结构 创建和使用游标通常涉及以下几个步骤: 1. **声明游标**:使用`DECLARE`语句声明一个游标,并指定要从中检索数据的查询。 2. **打开游标**:使用`OPEN`语句打开游标,使其准备好读取...
游标在数据库编程中扮演着重要角色,它们允许程序员逐行处理查询结果,而不...游标例题通常会涵盖这些基本操作,帮助初学者理解和实践游标的工作原理。在实际开发中,理解并熟练运用游标是数据库编程不可或缺的技能。
#### 一、游标的基本概念 在SQL中,游标是一种特殊的指针,用于逐行地检索查询结果。这与一般的SQL查询不同,后者通常是返回所有匹配的结果集。游标提供了对从表或多个表中获取的数据进行遍历的能力,并能对每一行...
- 游标类型:有四种基本游标类型,包括只读游标、只进游标、可滚动游标和可更新游标。每种类型的游标具有不同的功能,如只读游标只能用于浏览数据,而可更新游标则允许修改数据。 - 游标操作:创建游标通常涉及...
本文将详细介绍游标的概念、基本语法,并通过具体示例讲解如何在不同的循环结构(如`WHILE`、`IF`和`FOR`循环)中使用游标。 #### 二、游标的基本概念 游标是PL/SQL中用于存储SELECT语句结果集的一种机制。它允许...
本文介绍了SQL游标的原理及其使用方法,包括游标的基本概念、不同类型的游标以及如何操作游标。了解并掌握这些知识将有助于开发者更高效地处理数据库中的数据,特别是在需要逐条处理大量数据时尤其有用。