zoukankan      html  css  js  c++  java
  • PL/SQL 的 事务处理

    原文连接 http://blog.csdn.net/lhl6688/article/details/42874109

    BEGIN  

    DECLARE   

           V_COUNT    INTEGER; -- 表中记录的行数  
           V_INT_VAL   MY_TEST.ONLY_INT%TYPE; -- 使用%TYPE关键字参照某表某字段类型声明变量  
    BEGIN  
          V_INT_VAL := 123456;  
          -- 插入一条正确的数据  
          INSERT INTO MY_TEST VALUES ('TEST_SUCCESS', V_INT_VAL);  
          -- 查询条数为1条,我们发现插入成功了  
          SELECT COUNT(*) INTO V_COUNT FROM MY_TEST;  
          DBMS_OUTPUT.put_line('MY_TEST表中有' || V_COUNT || '条记录');  
      
           -- 插入一条错误的数据,因为第二个字段为int型,插入字符数据肯定会出错  
           INSERT INTO MY_TEST VALUES ('TEST_FAIL', 'ABC');  
      
            -- 最后提交更改  
            COMMIT;  
    EXCEPTION  
            -- 异常处理  
            WHEN OTHERS THEN  
                      ROLLBACK; -- 异常时回滚,这样第一次插入的正确数据也不会保存到数据库  
                      DBMS_OUTPUT.put_line('[PL/SQL 事务]中出现异常,错误代码:ORA' || sqlcode);  
             -- 我们验证一下表里的数据为0条  
             SELECT COUNT(*) INTO V_COUNT FROM MY_TEST;  
              DBMS_OUTPUT.put_line('回滚后,MY_TEST表中有' || V_COUNT || '条记录');  
    END; -- 可执行语句结束  

  • 相关阅读:
    GeoServer与Spring MVC
    GeoServer二次开发1 hello Geoserver
    servlet的生命周期
    springboot打包出错,没有主清单
    空间数据库管理
    Gone with the wind
    谎言中的民众
    还是有些怀念这里啊
    MSN Protcol 学习笔记
    祝我的老师教师节快乐!
  • 原文地址:https://www.cnblogs.com/james641/p/7735404.html
Copyright © 2011-2022 走看看