首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PLSQL --> 游标

--================== -- PL/SQL --> 游标 --================== 一、游标的相关概念及特性 1.定义 映射在结果集中某一行数据的具体位置,类似于C...2.游标的分类 显示游标:即用户自定义游标,专门用于处理select语句返回的多行数据 隐式游标:系统自动定义的游标,记录集只有单行数据,用于处理select into DML语句 3.游标使用的一般过程...select语句,将对应的结果集存放到游标当中 如:OPEN emp_cur c.读取数据 FETCH cursor_name INTO var_name1,...var_name2 ; --提取单行数据...ref_type_name; --接下来再定义游标变量 ref_type_name: 指定自定义的类型名 RETURN: 指定REF CURSOR返回结果的数据类型 cursor_variable...--> 游标 PL/SQL -->隐式游标(SQL%FOUND) PL/SQL --> 异常处理(Exception) PL/SQL --> PL/SQL记录 PL/SQL --> 包的创建与管理 PL

99320

Oracle-PLSQL基础

概述 PL/SQL简介 pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展,pl/sql不仅允许嵌入Sql语言,还可以定义变量常量,允许使用条件语句循环语句...打开游标 open c1;(打开游标,执行查询 即执行游标的查询语句) 取一行游标的值 fetch c1 into v_name;( 取一行到变量中) 最开始时,游标指向集合的第一条记录,记录返回后...关闭游标 close c1 ;(关闭游标释放资源) 栗子 使用游标查询员工姓名工资,并打印。 Loop循环游标 推荐写法 .......---- 显式游标隐式游标 上面介绍的是显式游标,下面说下隐式游标 DML操作和单行SELECT语句会使用隐式游标,它们是: 插入操作:INSERT 更新操作:UPDATE 删除操作:DELETE...---- PL/SQL调测 可以在pl/sql工具中 新建测试窗口,调测过程调测存过的方式一样,可以一步一步的跟踪sql执行的过程。 ?

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

PLSQL-游标

游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。...REF游标和静态游标的区别 1)静态游标不能返回到客户端。ref游标能够被返回到客户端,是从Oracle的存储过程返回结果集的方式。 2)不能在包说明或包体中的过程或函数之外定义ref游标。...在PL/SQL中使用DML语言,使用ORACLE提供的名为“SQL”的隐示游标。...%FOUND:变量最后游标中获取记录的时候,在结果集中找到了记录。...%NOTFOUND:变量最后游标中获取记录的时候,在结果集中没有找到记录。 %ROWCOUNT:当前时刻已经从游标中获取的记录数量。 %ISOPEN:是否打开。

70320

PLSQ编程

PLSQ编程 流程控制: 判断语句 if 循环语句 loop exit while for 顺序语句 goto null 判断语句 if IF THEN PL/SQL SQL语句...如果游标查询语句中带有FOR UPDATE选项,OPEN 语句还将锁定数据库表中游标结果集合对应的数据行。...使用for循环来提取游标数据 PL/SQL语言提供了游标FOR循环语句,自动执行游标的OPEN、FETCH、CLOSE语句循环语句的功能;当进入循环时,游标FOR循环语句自动打开游标,并提取第一行游标数据...,当程序处理完当前所提取的数据而进入下一次循环时,游标FOR循环语句自动提取下一行数据供程序处理,当提取完结果集合中的所有数据行后结束循环,并自动关闭游标。...,当最近一次读记录时成功返回,则值为true; SQL%NOTFOUND 布尔型属性,与%found相反; SQL %ROWCOUNT 数字型属性, 返回已从游标读取得记录数; SQL %ISOPEN

1.5K10

PLSQL学习笔记_02_游标

PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现。         ...游标是一个指向上下文的句柄( handle)或指针。通过游标PL/SQL 可以控制上下文区处理语句时上下文区会发生些什么事情。...如果游标查询语句中带有 FOR UPDATE 选项, OPEN 语句还将锁定数据库表中游标结果集合对应的数据行。 ...; %ISOPEN 布尔型属性,当游标已打开时返回 TRUE; %ROWCOUNT 数字型属性,返回已从游标读取的记录数。.../SQL 语言提供了游标 FOR 循环语句,自动执行游标的 OPEN、 FETCH、 CLOSE 语句循环语句的功能  如果在游标查询语句的选择列表中存在计算列,则必须为这些计算列指定别名后才能通过游标

81740

进阶数据库系列(十一):PostgreSQL 存储过程

PL/pgSQL 存储过程,它 Oracle PL/SQL 非常类似,是 PostgreSQL默认支持的存储过程,下面针对优缺点给大家做了简要分析。 优点 减少应用和数据库之间的网络传输。...这里通过into子句赋值给变量,返回的是结果的第一行或者null(查询返回零行),除非使用order by进行排序,否则第一行是不明确的,第一行之后所有的结果都会被丢弃。...如果返回结果刚好是一行数据的,则添加strict选项就可以显示最终结果。 正常显示结果并且返回。...当被返回setof sometype时,函数最后一个查询执行完后输出的每一行都会被作为结果集的一个元素返回。 sometype可以是某一张已经存在的表,也可以是record。也可以是某个字段类型。...: return返回结果:return返回只会返回执行的最后一个结果

2.1K20

Oracle11g全新讲解之游标

游标 游标的作用:处理多行数据,类似与java中的集合 1.隐式游标   一般是配合显示游标去使用的,不需要显示声明,打开,关闭,系统自定维护,名称为:sql 常用属性: sql%found:语句影响了一行或者多行时为...); end if; -- commit ;-- 提交应该要放在隐式游标后面 end ; 2.显示游标   显式游标PL/SQL...块的声明部分定义查询,该查询可以返回多行,处理多行数据 实现步骤: 声明一个游标 打开游标 循环提取数据 关闭游标 案例: a) 无参数 :查询所有学生信息,并显示出学生姓名,性别,年龄 -- 步骤:...end ; 3.REF游标   处理运行时动态执行的 SQL 查询,特点: 优点: 动态SQL语句 在存储过程中可以当参数 缺点: 不能使用循环游标for 不能使用游标更新行 使用步骤...: 游标用于处理查询结果集中的数据 游标类型有:隐式游标、显式游标 REF游标 隐式游标PL/SQL 自动定义、打开关闭 显式游标用于处理返回多行的查询 显式游标可以删除更新活动集中的行 要处理结果集中所有记录时

44120

游标--数据库

2,另外,在Oracle中PL/SQL只能返回单行数据,而游标弥补了这个不足。相当于ADO.NET中的Data table吧。...三,类型:                 1,隐式游标:增删改等操作Oracle都会自动创建游标,暂时保存操作结果,也就是能够回滚的操作都会引发游标的创建。                ...2,显示游标:由开发人员通过程序显式控制,用于从表中取出多行数据,并将多行数据一行一行的单独进行处理....在这里需要提出的是,for循环结构在Oracle中被简化了,我们只需要声明使用即可。...3,最后在这里再学习一下带参数的游标,也是就和我们但参数的类是一样的,只不过一个用在了数据库中,一个用在了编程语言中。 [sql] view plaincopyprint?

79930

Oracle之PLSQL学习笔记

PL/SQL包括过程化语句SQL语句     PL/SQL的单位:块。 一个块中可以嵌套子块。...块的三个组成部分: 一:定义部分(declare) PL/SQL中使用的变量,常量,游标异常的名字都必须先定义后使用。...PL/SQL块的类:   1、    匿名块:只能存储一次,不能存储在数据库中   2、    过程,函数包(procedure,function,package):是命了名的PL/SQL块,被存储在数据库中.../SQL嵌套变量的作用域 --PL/SQL嵌套变量的作用域 DECLARE v_parent NUMBER :=10; BEGIN DECLARE v_child NUMBER...2、    游标的分类     a)  隐式游标PL/SQL隐式建立并管理这一游标。     b)  显示游标:由程序员定义并控制,从数据库中读出多行数据,并从多行数据中一行一行的处理。

1.1K80

PLSQL --> 包重载、初始化

假定需要查询部门所在的位置 ,输入参数部门编号或部门名称都会返回同样的结果。对外部程序而言,似乎是调用的同一个子程序,但其始质调用了不同的子程序,执行了 不同的代码。...有关包的创建与管理请参考:PL/SQL --> 包的创建与管理 一、使用重载特性建立包头 在包中,具有重载特性的子程序必须使用不同的输入参数。同名函数返回值数据类型必须完全相同。...exec emp_package.upd_sal('Henry',3500); scott@ORCL> exec emp_package.upd_sal('Henry',100); --当范围超出最高最小薪水则返回错误信息...CONNECT BY PRIOR) 有关PL/SQL请参考 PL/SQL --> 语言基础 PL/SQL --> 流程控制 PL/SQL --> 存储过程 PL/SQL --> 函数 PL/SQL...--> 游标 PL/SQL -->隐式游标(SQL%FOUND) PL/SQL --> 异常处理(Exception) PL/SQL --> PL/SQL记录 PL/SQL --> 包的创建与管理 PL

64820

疑难解答:ORA-01555的场景模拟和解决方案

这时的数据块上只记录了锁标志,没有事务标志Commit SCN。 PL/SQL procedure successfully completed....读取数据块前需要到回滚段的事务信息表中读取Itl中没有标记完全的事务的状态Commit SCN,以判断是否需要进行一致性读。...6、使用游标时尽量使用显式游标,并且只在需要的时候打开游标,同时将所有可以在游标外做的操作从游标循环中拿出。 当游标打开时,查询就开始了,直到游标关闭。...但是,根据我个人的经验,大多数的1555错误的发生,其根本原因还是语句写得太烂,导致了大量的consistent gets超长的执行时间,最后引发了1555错误。...经过检查日志,是某个作业在运行时发生了1555错误,导致程序无法返回结果: 相关程序记录下的日志: 错误分析解决 这是一个典型的1555错误。

1.2K50

plsql编程语言_编程语言有哪些

pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程存储函数等...--pl/sql中的loop循环 --用三种方式输出1到10十个数字 --while循环 declare i number(2):=1; begin while i<11 loop...for i in 1..10 loop dbms_output.put_line(i); end loop; end; –游标 --游标:可以存放多个对象,多行记录 --...这一段pl/sql一般都是固定步骤的业务。...–存储过程存储函数的区别 –语法区别:关键字不一样 —-存储函数比存储过程多了两个return。 –本质区别:存储函数有返回值,而存储过程没有返回值。

13K30

PLSQL编程—游标

一、游标的相关概念:   定义: 游标它是一个服务器端的存储区,这个区域提供给用户使用,在这个区域里 存储的是用户通过一个查询语句得到的结果集,用户通过控制这个游标区域当中 的指针 来提取游标中的数据...a)静态游标    -  隐式游标    -  显式游标    b)Ref游标   三、游标具有的属性 %notfound 询问是否没有结果集 %found    询问是否存在结果集 %rowcount...返回受影响的行数 %isopen   询问游标是否已经打开  四、隐式游标 隐式游标 ---由Oracle数据库自动创建,名称是(SQL) ,主要用途是可以返回一个操作是否成功或失败.   ...SQL%notfound  --返回Boolean值  存在结果返回 False    SQL%found    --返回Boolean值   存在结果返回 True    SQL%rowcount...  --用户成功提取数据的行数    SQL%isopen   --在隐式游标里一般这个属性是自动打开关闭的.且任何时候查询都返回False 示例:向表中插入一行数据,询问是否插入成功. declare

31730

PLSQL --> 动态SQL

b.使用OPEN-FOR,FETCHCLOSE语句 对于处理动态多行的查询操作,可以使用OPEN-FOR语句打开游标,使用FETCH语句循环提取数据,最终使用CLOSE语句关闭游标。...is 1045 for JAMES 四、动态SQL的使用(处理多行结果集的查询语句) 1.使用游标变量来循环提取数据,其主要流程为 定义游标变量 TYPE cursortype IS REF...当使用bulk子句时,集合类型可 以是PL/SQL所支持的索引表、嵌套表VARRY,但集合元素必须使用SQL数据类型。..., sal_table; --使用BULK COLLECT INTO到集合变量 FOR i IN 1..ename_table.COUNT --使用FOR循环读取集合变量的结果 LOOP DBMS_OUTPUT.PUT_LINE...--> 游标 PL/SQL -->隐式游标(SQL%FOUND) PL/SQL --> 异常处理(Exception) PL/SQL --> PL/SQL记录 PL/SQL --> 包的创建与管理 PL

2.2K10

oracle游标的使用详解_oracle游标失效

多用于返回多行的SELECT语句 隐式游标(Implicit Cursor):在执行一个SQL语句时,服务器将自动创建一个隐式游标,该游标是内存中的工作区,存储了执行SQL语句的结果,可通过游标的属性获得...多用于只返回一行SQL语句 4、隐式游标 (ORACLE在创建隐式游标时,默认的游标名为SQL) 1)游标的主要属性(显示游标、隐式游标) %FOUND 布尔型属性,当SQL语句至少影响一行时为TRUE...游标的属性只能在PL/SQL块中使用,而不能在SQL语句中使用 例1 将PRODUCTS表中类型为1的所有产品的单价打9折,并显示该更新所影响的行数....游标变量是一个指向多行查询结果集的指针,不与特定的查询绑定,可以在打开游标变量时定义查询,可以返回不同结构的结果集。...INTO 语句循环检索游标变量的 结果集中的记录。

1.7K40

Oracle数据库学习

SQL将查询出students表的所有数据。注意:查询结果也是一个二维表,它包含列名一行的数据。...如果是字符类型,MAX()MIN()会返回排序最后排序最前的字符。...PL/SQL是对SQL语言存储过程语言的扩展。 指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力。...; 给SALESMAN涨10%的工资,给ANALYST涨5%的工资(游标) 1、显式游标处理需四个PL/SQL步骤: 2、显式游标属性 %FOUND 布尔值属性,当最近一次读记录时成功返回,则返回...TURE %NOTFOUND 布尔值属性,与%FOUND相反 %ISOPEN 布尔值属性,当游标已打开时返回TURE %ROWCOUNT 数字型属性,返回已从游标读取的记录数 -- 给SALESMAN

1.8K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券