Oracle中获得数据更新件数

资讯 驱动中国 若水 7,993 次阅读 0 条评论
分享 Q
      在Oracle的SQL PLUS中,当update或者delete或者select这些DML操作以后,会显示更新/删除/检索了多少行,在JDBC操作中,也会有返回值内容是影响了多少行。但是在我们的PL/SQL中如何取得这个数据呢。
        在PL/SQL中,当你进行检索的时候,你可以自己打开一个游标cursor来进行操作,也可以不打开游标,但是当你不打开游标的时候,系统也会在后台通过一个隐式游标来达到同样的效果。所以,我们可以利用隐式游标的一些属性得到DML语句的执行的结果。
        这些属性通过SQL%字段来取得,一般用到的是三种,第一种是SQL%FOUND,相对的第二种是SQL%NOTFOUND,这两种的返回值是true和false这样的boolean值。第三个返回值就是SQL%ROWCOUNT,这个会返回刚才操作的数据件数。
        关于SQL%FOUND的返回值的内容如下
       TRUE :INSERT

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

. TRUE :SELECT INTO至少返回一行

  当SQL%FOUND为TRUE时,SQL%NOTFOUND为FALSE。
        另外,听说sqlca.sqlerrd[2]也能返回更新件数,我没有验证,不知道
版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友