`

declare_遍历入参游标的3种方式

 
阅读更多
declare 
  -- Local variables here 
  CURSOR C_EVENT(ROW_NUM NUMBER DEFAULT 3) is  
  (select t.name from users t where rownum <ROW_NUM); 
  temp users.name%TYPE;
begin 
  -- for 遍历游标 
  for temp in C_EVENT(ROW_NUM=>2) 
  Loop 
      dbms_output.put_line('名称:'|| temp.name); 
      dbms_output.put_line('index: '||C_EVENT%ROWCOUNT); 
  End Loop; 
  
  dbms_output.put_line('------分割线------'); 
  
  --while 遍历游标 
  OPEN C_EVENT(ROW_NUM=>3);--打开游标 
  FETCH C_EVENT into temp; --取值 
  while C_EVENT%found  
  Loop 
    dbms_output.put_line('名称:'||temp); --打印 
    dbms_output.put_line('index: '||C_EVENT%ROWCOUNT); 
    FETCH C_EVENT into temp; --取值 
  End Loop; 
  CLOSE C_EVENT; 
  
  dbms_output.put_line('------分割线------'); 
  --loog 遍历游标 
  OPEN C_EVENT(ROW_NUM=>4);--打开游标 
  Loop 
      FETCH C_EVENT into temp; --取值 
      Exit when C_EVENT%NOTFOUND; 
      dbms_output.put_line('名称:'||temp); --打印 
      dbms_output.put_line('index: '||C_EVENT%ROWCOUNT); 
  End Loop; 
  CLOSE C_EVENT; 
end; 

-------while..and...
declare 
  -- Local variables here 
  CURSOR C_EVENT(ROW_NUM NUMBER DEFAULT 3) is  
  (select t.name,t.status from users t where rownum <ROW_NUM); 
  temp users.name%TYPE;pp users.status%type; v_num int;
begin  
  --while 遍历游标 
  OPEN C_EVENT(ROW_NUM=>10);--打开游标
  FETCH C_EVENT into temp,pp; --取值 
  v_num:=1;
  while C_EVENT%found and v_num<=9  
  Loop 
    dbms_output.put_line('名称'||temp||'状态'||pp||'v_num'||v_num); --打印 
	dbms_output.put_line('index: '||C_EVENT%ROWCOUNT);
    FETCH C_EVENT into temp,pp; --取值 
    v_num:=v_num+1;
  End Loop; 
  CLOSE C_EVENT;  
  
end;

 

分享到:
评论

相关推荐

    mysql游标详解

    游标是 MySQL 中的一种机制,允许开发人员在存储过程和触发器中控制数据的获取和处理。 在 MySQL 中,游标是通过 DECLARE 语句定义的,例如: DECLARE fetchSeqCursor CURSOR FOR SELECT seqname, value FROM sys_...

    sql 游标遍历 实例

    在SQL(结构化查询语言)中,游标(Cursor)是一种重要的编程工具,它允许数据库开发者按需一行一行地处理查询结果集。游标在处理大量数据时特别有用,特别是当你需要对结果集中的每一行执行不同的操作或者进行迭代...

    11-3--游标Cursor1

    在数据库系统中,游标(Cursor)是一种重要的概念,它允许开发者对数据库中的数据进行遍历和操作。游标可以看作是一种指针,指向当前记录集的某一行,通过游标,可以对记录集进行操作,例如检索、更新、删除等。 ...

    SQL语句游标的应用

    1. **声明游标**:使用`DECLARE cursor_name CURSOR FOR select_statement`语句来声明一个游标,其中`cursor_name`是你为游标选择的名称,而`select_statement`是指定游标将遍历的数据集的查询语句。 2. **打开游标*...

    SQL Server遍历表中记录的2种方法(使用表变量和游标)

    总结,遍历SQL Server表中的记录,可以采用表变量配合循环的方式,或者使用游标。表变量方法简洁且对数据的影响可控,但可能需要额外删除已处理的行。游标提供了逐行处理的灵活性,但效率较低,应作为最后的手段。在...

    oracle 隐式游标,显示游标,游标循环

    ### Oracle中的游标详解 #### 一、引言 在Oracle数据库中,游标是一种非常重要的机制,它允许用户在程序中对查询结果...此外,通过使用循环结构,可以有效地遍历游标中的每一行数据,从而实现复杂的业务逻辑处理。

    Oracle游标使用方法及语法大全

    在 PL/SQL 中,还可以使用 FOR 循环来遍历游标,例如: ```sql FOR r_emp IN c_emp LOOP DBMS_OUTPUT.PUT_LINE('Salary of Employee ' || r_emp.ename || ' is ' || r_emp.sal); END LOOP; ``` 这里使用 FOR 循环来...

    Oralce PLSQL存储过程之游标实践!

    通过以上实例,我们了解了在PL/SQL存储过程中使用游标的多种方式,包括简单的单值输出、遍历游标、带参数的游标以及使用多个游标进行复杂的数据处理。掌握这些技术将有助于开发出更加高效和健壮的应用程序。

    oracle游标使用大全1.txt

    ### Oracle游标使用详解 ...此外,还探讨了游标属性的应用场景以及如何通过循环来遍历游标,这对于处理大量数据尤其有用。总之,熟练掌握Oracle游标的使用对于Oracle数据库开发者来说是十分重要的技能之一。

    DB2游标及动态SQL

    在DB2中,游标是一种用于遍历查询结果集的强大工具。它允许用户一行一行地处理数据,这对于需要逐行处理数据的应用场景非常有用。游标通常用于以下几种情况: - 需要处理的数据量较大时。 - 需要逐行对数据进行复杂...

    Oracle 遍历游标的四种方式汇总(for、fetch、while、BULK COLLECT)

    以下是Oracle遍历游标的四种主要方式: 1. **FOR循环**: - **显式游标**:首先使用`DECLARE`声明游标,然后通过`OPEN`打开游标,接着使用`FOR`循环遍历每一行数据,最后用`CLOSE`关闭游标。这种方式简洁易读,是...

    SQL_SERVER游标最新详解[定义].pdf

    总之,SQL Server的游标提供了一种灵活的处理数据的方法,它允许用户以更加控制的方式遍历和操作结果集。虽然游标可能带来性能影响,但在某些特定场景下,它们是解决问题的关键工具。理解和掌握游标使用,可以帮助...

    数据库实验六:游标的使用.pdf

    游标是一种数据库查询的结果集,它允许逐行遍历查询结果,进行数据操作。本篇实验教程详细介绍了如何声明游标、使用游标进行数据读取、更新以及删除操作,并对游标在使用过程中的注意事项进行了说明。 知识点一:...

    关于游标的说明与使用方法

    遍历循环游标可以通过循环结构来实现,主要有以下几种方式: 1. **使用`LOOP`循环**:配合`EXIT WHEN`语句判断是否到达记录集末尾。 ```sql LOOP FETCH cur INTO var1, var2, var3; EXIT WHEN cur%NOTFOUND; -...

    Oracle游标使用详解

    `FOR`循环提供了一种更简洁的方式来遍历游标中的数据,它可以自动打开和关闭游标,同时将当前行的数据存储在一个匿名记录中。 ```sql CREATE OR REPLACE PROCEDURE PROC_STU3 AS BEGIN DECLARE CURSOR cur_...

    plsql基础(游标)

    使用`FOR`循环可以更简洁地遍历游标的结果集: ```plsql DECLARE CURSOR c_employee IS SELECT employee_id, last_name FROM employees WHERE department_id = 10; BEGIN dbms_output.enable(NULL); FOR rec ...

    Mysql中sql语句游标详解

    - **连接不同数据处理方式**:游标将面向集合的数据库管理和面向行的程序设计两种不同的数据处理方式结合起来,实现了更高效的数据操作。 #### 三、游标类型 MySQL中支持的游标类型主要分为服务器游标,类似于...

    Oracle_plsql讲义:第20章 游标.ppt

    然后,可以使用循环结构(如`LOOP`)来遍历游标中的每一行,并在每次迭代中处理数据。 关闭游标使用`CLOSE`语句,确保在不再需要数据时释放资源: ``` CLOSE cursor_name; ``` 显式游标还有几个重要的属性,如`%IS...

    游标例题 获取游标中的某一行

    游标(Cursor)是一种数据库对象,它允许我们遍历查询结果集,一次处理一行数据。游标提供了前进、后退、移动到特定位置甚至修改当前行的能力,为复杂的数据处理提供了灵活性。 2. **声明游标** 在大多数数据库...

    Oracle游标实例.txt

    这是一种更简洁的遍历游标的方式,直接在`FOR`循环中声明游标并自动打开和关闭游标,每次迭代都将当前行的数据作为`test_rec`变量的一部分,从而简化了数据访问过程。 3. **带锁定的游标更新数据**: ```sql ...

Global site tag (gtag.js) - Google Analytics