`
jiaguwen123
  • 浏览: 405340 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle中的sql%found sql%notfound和sql%rowcount

阅读更多

当执行一条DML语句后,DML语句的结果保存在四个游标属性中,这些属性用于控制程序流程或者了解程序的状态。当运行DML语句时,PL/SQL打开一个内建游标并处理结果,游标是维护查询结果的内存中的一个区域,游标在运行DML语句时打开,完成后关闭。隐式游标只使用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三个属性.SQL%FOUND,SQL%NOTFOUND是布尔值,SQL%ROWCOUNT是整数值。

  SQL%FOUND和SQL%NOTFOUND

  在执行任何DML语句前SQL%FOUND和SQL%NOTFOUND的值都是NULL,在执行DML语句后,SQL%FOUND的属性值将是:

  . TRUE :INSERT

  . TRUE :DELETE和UPDATE,至少有一行被DELETE或UPDATE.

  . TRUE :SELECT INTO至少返回一行

  当SQL%FOUND为TRUE时,SQL%NOTFOUND为FALSE。

  SQL%ROWCOUNT

  在执行任何DML语句之前,SQL%ROWCOUNT的值都是NULL,对于SELECT INTO语句,如果执行成功,SQL%ROWCOUNT的值为1,如果没有成功,SQL%ROWCOUNT的值为0,同时产生一个异常NO_DATA_FOUND.

  SQL%ISOPEN

  SQL%ISOPEN是一个布尔值,如果游标打开,则为TRUE, 如果游标关闭,则为FALSE.对于隐式游标而言SQL%ISOPEN总是FALSE,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。

分享到:
评论

相关推荐

    详解Oracle隐式游标和显式游标

    -- sql%rowcount:影响记录条数 sql%found:是否有满足条件的记录 set serveroutput on; declare v_ename a_emp.ename%type; begin select ename into v_ename from a_emp where empno=7788; if sql%found then ...

    PL/SQL 基础.doc

    3) OCI: C语言和数据库打交道的方法,和Pro*C很相似,更底层,很少用 只适合ORACLE; 4) SQLJ: 很新的一种用Java访问Oracle数据库的方法,会的人不多; 5) JDBC 6) PL/SQL: 存储在数据库内运行, 其他方法为在...

    SQL21日自学通

    Integrity Constraint Violated--Parent Key Not Found 482 Oracle Not Available 483 Inserted Value Too Large for Column 483 TNS:listener Could Not Resolve SID Given in Connect Descriptor 484 Insufficient...

    SQL语句生成及分析器(中文绿色)

    7、数据库视图创建和重建(目前仅支持Oracle,Sybase,MS_SQL) 8、附加Delphi 5和Delphi 6的控件包,支持Delphi 5,6开发环境 9、SQL语句智能换行 10、其他功能 10.1 SQL文件保存、打开 10.2 支持多个数据库...

    SQL语句集锦.rar

    工作中常用的SQL + 超复杂SQL 交叉连接查询corss.txt 公交线路问题.txt 。。。。 充储过程--sql0.sql 分割字符串.txt 分布式查询.txt 分组排列进行更新.txt 别名.txt 动态SQL语句.txt 动态语句.txt 区分大小写.txt ...

    jsp + oracle分页简单实用

    java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //设置数据库连接字符串 strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb"; //连接数据库 sqlCon = java.sql....

    JAVA 与 Sql学习笔记

    4.用%BULK_ROWCOUNT 属性计算FORALL迭代影响行数 ,用%BULK_ROWCOUNT 属性计算FORALL迭代影响行数 5.用BULK COLLECT子句取回查询结果至集合中 6.用LIMIT 子句限制批取出操作行 7.用RETURNING INTO子句取回DML结果至...

    sql语句生成与分析器.rar

    7、数据库视图创建和重建(目前仅支持Oracle,Sybase,MS_SQL) 8、附加Delphi 5和Delphi 6的控件包,支持Delphi 5,6开发环境 9、SQL语句智能换行 10、多语言版本 11、其他功能 11.1 SQL文件保存、打开 ...

    sql总结.doc

    (2)Mysql中搜索引擎Innodb(聚簇索引)和Mysiam(非聚簇索引)都采用B+,oracle也采用B+树实现 注:聚簇索引:一张表只能建立一个聚簇索引,以主键建立索引。聚簇索引包括主键索引和二级索引(二级索引是在对非主键...

    SQL中SET和SELECT赋值的区别

    最近的项目写的SQL比较多,经常会用到对变量赋值,而我... 说到这个,SQL内置的变量:@@ERROR 和 @@ROWCOUNT必须要在一句SQL语句中捕获。如果用set分两句来获取它们,将获取不完整,这时就应该用select来获取值。 */

    Oracle8i_9i数据库基础

    §14.2.4 关于NO_DATA_FOUND和%NOTFOUND 260 §14.2.5 SELECT FOR UPDATE 光标 261 §14.3 光标变量 262 §14.3.1 声明光标变量 262 §14.3.2 为光标变量分配存储空间 262 §14.3.3 打开光标变量 262 §14.3.4 关闭...

    SQL.Server.2008编程入门经典(第3版).part2.rar

    SQL Server 2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等。《SQL Server 2008编程入门经典(第3版)》旨在帮助您快速地掌握Microsoft SQL Selwer2008的...

    SQL Server 2008编程入门经典(第3版)

    10.5 在MaliagementStudio中创建和编辑视图 10.6 审查:显示现有的代码 10.7 保护代码:加密视图 10.8 关于模式绑定 10.9 使用VIEWMETADATA使视图看起来像表一样 10.10 索引(物化)视图 10.11 本章小结 10.12 练习 ...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    SQL Server 2008的新增内容和更改包括:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,以及递归查询等。《SQL Server 2008编程入门经典(第3版)》旨在帮助您快速地掌握Microsoft SQL Selwer2008的...

    sql中循环处理当前行数据和上一行数据相加减

    以下事例,使用游标循环表#temptable中数据,然后让当前行和上一行中的argument1 相加 存放到当前行的 argument2 中,比较简单。 --drop table #temptable create table #temptable ( argument1 int, argument2 ...

    SQL实际应用面试题

    一些简单的SQL面试题,仅供大家参考 管理结果集的分页 问:我怎样才能使用SQL Server对结果集的分页进行管理? 答:您经常需要使用一次一页的形式来显示一个结果集,并保证用户可以轻松查看各个结果集页面,特别是...

    SQL ASP.NET高性能分页

    SQLServer中有一个Set Rowcount的的设置,它的意思是使命令的处理在响应指定的行数之后停止处理命令,利用这个特点,我们可以借用它来在一个千万行级数据表中实现高性能分页查询。先来说说实现方式: 1、我们来假定...

    oracle 示例代码

    包括触发器、序列、游标参数 游标、转出过程参数、游标的rowcount用法 用游标修改数据 用for使用游标、视图、存储过程、隐式游标、过程等

    Sql Server 存储过程调用存储过程接收输出参数返回值

    创建存储过程: ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle] ,[Address] ...SET @rowcount=@@rowcount

    SQLServer 2008中SQL增强之二 Top新用途

    一、TOP替代Set RowCount 在SQL Server 2005之前的传统SQL语句中,top语句是不支持局部变量的。见//www.jb51.net/article/27089.htm此时可以使用Set RowCount,但是在SQL Server 2005/2008中,TOP通常执行得更快,...

Global site tag (gtag.js) - Google Analytics