`

游标(指针)

阅读更多

*游标可以减少程序与数据库的交互和内存的消耗。

1.游标分类

    1.1:显示游标

    1.2:隐式游标——SQL;

2.隐式游标

    2.1:功能——操作单行查询数据和DML

    2.2:使用

    2.3:特点

      2.3.1:系统创建;调用游标时打开,用完后立即关闭。

      2.3.2:提交事物后,属性初始化。

      2.3.3:SQL游标是唯一的

      2.3.4:open属性永远为FALSE,永远都可以访问。

      2.3.

3.显示游标

   3.1:功能——操作多行查询数据

   3.2:使用游标的步骤

        declare

        cursor cur_emp is select *from emp——3.2.1:定义(c)

        row_emp cur_emp%rowtype;

        begin

        open cur_emp;——3.2.2:打开游标(o) 

        fetch cur_emp into row_emp;——3.2.3:提取数据(f)

        while cur_emp%found——3.2.4:循环(w)

        loop

                dems_output.put_line(row_emp.empno);——输出记录的语句

                fetch cur_emp into row_emp;

        end loop;

        close cur_emp;——3.2.5:关闭游标(c)

        end;              

   3.3:特点

4.游标的属性

   4.1:%isopen——游标是否打开

   4.2:%found——从结果集中找到作用行

   4.3:%notfound——没有从结果集中找到作用行

   4.4:%rowcount——到当前行为止已经提取的实际行数

5.1:参数游标——带有形参的游标,用于动态绑定。

    *形参类型不需要制定长度,只需制定数据类型。

    *参数游标要在与之绑定的sql语句的where中使用

5.2:游标变量

 

 

 

 

 

 

 

5.3:游标表达式——在游标的sql语句中包含游标。

       *cursor dept_cursor(no number) is

              selecta.dname,cursor(select ename,sal from emp where deptno=a.deptno)

              from dept a where a.deptno=no;

6.游标for循环——中作中常用来代替显示游标,工作中称为隐式游标。

   6.1格式——for record_name in cursor_name loop 执行语句 end loop;

           *record_name——数据库隐含定义的记录变量名,用户自己给。

           *游标自己隐式打开或循环完毕后自己关闭。

           *循环一次,取一次数据。

7.应用

   7.1:数据更新

    declare
       cursor emp_cursor is select ename,sal from emp for update;

*for update——锁定行;of——锁定特定表,默认全部相关表;nowait——不会为获得锁而等待,直接报错。
       v_ename emp.ename%type;
       v_oldsal emp.sal%type;
begin
     open emp_cursor;
     loop
         fetch emp_cursor into v_ename, v_oldsal;
         exit when emp_cursor%notfound;
         if v_oldsal<2000 then
            update emp set sal=sal+100 where current of emp_cursor;
         end if;
     end loop;
     close emp_cursor;
end;
/

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

    滚动游标支持通过游标指针向前、向后移动以及定位到结果集的任一行。 知识点二:游标的打开与关闭 在声明游标之后,需要使用OPEN语句打开游标,使游标处于活动状态,才能开始操作。完成对游标的操作后,应当使用...

    游标 存储过程游标 存储过程.doc

    打开游标执行SELECT查询,并将游标指针定位到第一条记录。`FETCH`命令用于获取游标当前指向的记录,并可选择不同的导航选项(如`NEXT`、`PRIOR`、`FIRST`、`LAST`等)。关闭游标`CLOSE`和释放游标`DEALLOCATE`分别...

    第8章 游标与存储过程.pdf

    在SQL中,游标提供了控制对结果集的访问,可以通过游标指针逐行遍历数据。游标通常有五个核心问题:如何建立游标并装入记录、如何让指针指向游标的首行、如何通过指针提取当前行的记录、如何让指针移动以及如何关闭...

    SQL SERVER中的存储过程和游标的使用大综合

    3. **提取数据**:使用`FETCH NEXT`语句获取当前行,并将游标指针移动到下一行。 4. **处理数据**:在每次提取后,可以对当前行数据执行操作。 5. **关闭和释放游标**:完成处理后,使用`CLOSE`关闭游标,然后用`...

    Oracle之显示游标的使用方法.pdf

    每次执行`FETCH`,游标指针会自动移到下一行。 - 例如,`FETCH c_成绩 INTO v_成绩;` 将游标`c_成绩`当前行的数据赋值给变量`v_成绩`。可以使用变量列表或记录变量来接收数据,记录变量适用于处理复杂的列结构。 4...

    游标在Oracle PRO*C中的使用方法及技巧.pdf

    使用`OPEN`语句打开游标,这会创建一个游标缓冲区,存储满足查询条件的行,并将游标指针置于首行。打开游标的语法为: ```sql EXEC SQL OPEN cursor_name; ``` 开放游标后,可以使用游标的属性来检查其状态,...

    GEFRAN RK4 非接触磁滞传感器.pdf

    GEFRAN RK4 非接触磁滞传感器pdf,GEFRAN RK-4非接触磁滞式设计采用了GEFRAN...四种游标指针可选。GEFRAN RK-4非接触磁滞伸缩位移传感器输出为标准模拟量输出,电压0~10v、电流4...20mA可选,极大方便了数据的采集处理。

    Berkeley DB使用文档大全

    该方法的参数包括事务 ID、游标指针和标志。其中,事务 ID 是一个可选参数,用于指定当前的事务;游标指针是用于存储游标的指针;标志是用于指定游标的行为。 游标打开后,可以通过游标的 search 和 write 方法来...

    Oracle Cursors 10g Note

    II) 游标指针被设置在结果集的第一行之前。 C. 获取结果到PL/SQL变量: I) 指针移动到下一行并获取下一条记录。变量的数据类型必须与游标中的SELECT列表兼容。 D. 关闭游标: I) 处理完结果集后,应关闭游标...

    数据库 sql 的ppt 资料

    - 用`OPEN`语句打开游标时,游标指针指向查询结果的第一条记录(A. 第一条)。 - 定义一个游标`emp_cursor`,删除`employee_info`表中的第一行数据,可以参考以下代码(假设`EmployeeID`是主键): ```sql Use ...

    ORACLE中游标的使用.pdf

    提取数据使用`FETCH`命令,每次提取后,游标指针会移动到下一行。例如: ```sql FETCH cursor_name INTO variable1, variable2; ``` 这里,`variable1`和`variable2`应与查询结果的列相对应,并具有相同的类型。 ...

    数据库6版讲稿第五章----高级SQL.ppt

    高级SQL嵌入式SQL知识点 嵌入式SQL的概念和必要性 在高级SQL中,嵌入式SQL是一种将SQL语言嵌入到高级语言(如C语言)中的...推进游标指针: EXEC SQL FETCH &lt;游标名&gt; INTO &lt;主变量&gt; [&lt;指示变量&gt;][, &lt;主变量&gt;]

    自学考试 数据库系统原理 单元练习 第五章.pdf

    解释:使用 open 语句打开游标后,游标指针将指向查询结果的第一行之前,以便后续的 fetch 语句可以正确地获取数据。 二、简答题 1. SQL 有哪几个主要组成部分? 答:SQL 语言主要由 DDL、DML 和 DQL 三部分组成。...

    oracle游标的总结oracle游标的总结

    Oracle 游标是 Oracle 数据库中的一种重要概念,用于查询数据库,获取记录集合(结果集)的指针。游标可以看作是一个临时表,你可以对其每一行的数据进行任意的操作。本文将对 Oracle 游标的概念、分类、声明方式、...

    Berkeley DB文章集合

    第二个参数是游标指针的引用,`Dbc **cursorp`,方法执行成功后,它将被初始化为新创建的游标。第三个参数 `u_int32_t flags` 可用于设置额外的行为,通常设置为 `0`。创建游标后,记得在不再需要时使用 `Dbc::close...

    第8章 数据库编程.ppt

    `推进游标指针,并将当前记录数据放入主变量。 4. **关闭游标**:使用`EXEC SQL CLOSE &lt;游标名&gt;;`关闭游标。 通过上述步骤,可以有效地在宿主语言中处理数据库查询结果集。 #### 七、总结 嵌入式SQL为开发者...

    PLSQL 文档集合包(语法 异常 指针 游标 存储过程...)

    本压缩包集合了关于PLSQL的各种关键知识点,包括语法、异常处理、指针和游标,以及与数据库交互的相关概念。 1. **PLSQL语法**: PLSQL的语法结构类似于结构化编程语言,如C或Pascal。它包含声明部分(声明变量、...

    MySQL使用游标批量处理进行表操作

    如果还有更多的行,游标指针会向前移动;如果没有更多行,游标将到达其末尾。 4. 关闭游标: 使用`CLOSE cursor_name`语句关闭游标,释放资源。一旦关闭,游标就不能再被使用,除非重新打开。 在批量添加索引的...

    SQL游标原理和使用方法

    游标的工作原理是创建一个指向查询结果集中的特定位置的指针,这个位置被称为当前行。用户可以通过移动游标向前或向后浏览结果集,对每一行执行读取、修改或删除操作。 1. 创建游标:首先,你需要通过执行一个...

    SQL经典游标使用方法

    游标创建了一个指向结果集中特定位置的指针,可以向前或向后移动,甚至可以对当前行进行读取、修改和删除。在SQL中,不同数据库系统如MySQL、SQL Server、Oracle等对游标的实现略有差异,但基本原理是相同的。 1. *...

Global site tag (gtag.js) - Google Analytics