CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

一个事务的简单问题。如何判断一条语句成功执行。

楼主gogo168(不懂)2003-06-03 15:55:26 在 Oracle / 开发 提问

我写一个存储过程  
  如何判断一条语句成功执行。  
  如   :update  
  我好RollBack;  
  问题点数:0、回复次数:5Top

1 楼w_tsinghua()回复于 2003-06-03 16:19:46 得分 0

用exception,例如  
  DECLARE  
    BEGIN  
              BEGIN     --   sub-block   begins    
                    update   yourtable   set   col1='test'   where   --你的update语句  
                    COMMIT;  
                    EXIT;  
              EXCEPTION  
                    WHEN   others   THEN  
                          ROLLBACK;  
              END;     --   sub-block   ends  
  END;  
  Top

2 楼armu80830(此情可待)回复于 2003-06-03 16:23:04 得分 0

我写了个例子,执行成功返回T,失败返回F  
  CREATE   OR   REPLACE   PROCEDURE   "INSERTAREAS"   (  
        tareaid             IN               VARCHAR2,  
        tareaname         IN               VARCHAR2,  
        tremark             IN               VARCHAR2,  
        execresult       OUT             VARCHAR2  
  )  
  AS  
  BEGIN  
        INSERT   INTO   areas  
                                (areaid,   areaname,   remark  
                                )  
                  VALUES   (to_number(tareaid),   tareaname,   tremark  
                                );  
   
        execresult   :=   'T';  
        COMMIT;  
  EXCEPTION  
        WHEN   OTHERS  
        THEN  
              ROLLBACK;  
              execresult   :=   'F'   ||   SQLCODE;  
  END   "INSERTAREAS";  
  /Top

3 楼gogo168(不懂)回复于 2003-06-03 16:25:32 得分 0

有没有象MSSQL中  
  的   @@error属性?  
  Top

4 楼gogo168(不懂)回复于 2003-06-03 16:26:56 得分 0

用execption  
  很麻烦Top

5 楼li_lip()回复于 2003-06-03 18:50:39 得分 0

写个例子:  
        INSERT   INTO   areas  
                                (areaid,   areaname,   remark  
                                )  
                  VALUES   (to_number(tareaid),   tareaname,   tremark  
                                );  
        IF   SQL%NOTFOUND   THEN  
              RAISE_APPLICATION_ERROR(-20000,'...');  
        END   IF;Top

相关问题

  • 判断执行sql语句的数量
  • 事务中执行了三个SQL语句,其中的一个执行语句失败,事务为什么没有回滚。语句如下.
  • 下面的判断语句总是不执行!
  • 执行语句判断记录是否存在的问题!
  • 如何判断sql语句成功执行
  • 怎样使以下语句变成一个事务,并判断提交事务,谢谢?
  • 请救命: 如何判断插入的 SQL 语句是否执行成功。?
  • 如何在存储过程判断Insert语句是否执行成功?
  • 如何判断执行 INSERT INTO 语句插入记录成功或失败?
  • 如何判断一条sql(update,delete)语句是否执行成功

关键词

  • 语句
  • 执行
  • execresult
  • tareaid
  • tareaname
  • tremark
  • rollback
  • update
  • exception
  • begins

得分解答快速导航

  • 帖主:gogo168

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo