当前位置: 首页 > news >正文

应持续抓好二级网站的建设工作备案网站容易被收录

应持续抓好二级网站的建设工作,备案网站容易被收录,电子商务网站建设策划报告,全球建筑网站抛出异常Oracle有三种类型的异常错误#xff1a;1#xff0e; 预定义#xff08;Predefined#xff09;异常ORACLE预定义的异常情况大约有24个。对这种异常情况的处理#xff0c;无需在程序中定义#xff0c;由ORACLE自动将其引发。2#xff0e; 非预定义#xff08;Pr…抛出异常Oracle有三种类型的异常错误1 预定义Predefined异常ORACLE预定义的异常情况大约有24个。对这种异常情况的处理无需在程序中定义由ORACLE自动将其引发。2 非预定义Predefined异常即其他标准的ORACLE错误。对这种异常情况的处理需要用户在程序中定义然后由ORACLE自动将其引发。3 用户定义User_define异常程序执行过程中出现编程人员认为的非正常情况。对这种异常情况的处理需要用户在程序中定义然后显式地在程序中将其引发。在PL/SQL中有三种方式抛出异常通过PL/SQL运行时引擎——抛出Oracle异常使用RAISE语句——抛出用户定义异常调用RAISE_APPLICATION_ERROR存储过程——抛出用户定义异常非预定义异常因为非预定义异常只有编号没有名称所以不能直接处理。1、在PL/SQL 块的定义部分定义异常情况 异常情况 EXCEPTION; 2、将其定义好的异常情况与标准的ORACLE错误联系起来使用EXCEPTION_INIT语句PRAGMA EXCEPTION_INIT(异常情况, 错误代码);3、在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。INSERT INTO departments VALUES(50, FINANCE, CHICAGO); DECLARE v_deptno departments.department_id%TYPE : deptno; deptno_remaining EXCEPTION; --1、定义异常 PRAGMA EXCEPTION_INIT(deptno_remaining, -2292); --2、关联 -- -2292 是违反一致性约束的错误代码 BEGIN DELETE FROM departments WHERE department_id v_deptno; EXCEPTION WHEN deptno_remaining THEN --3、处理 DBMS_OUTPUT.PUT_LINE(违反数据完整性约束!); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||---||SQLERRM); END; 用户自定义异常处理用户定义的异常错误是通过显式使用 RAISE 语句来触发。1、在PL/SQL 块的定义部分定义异常情况 2、RAISE 异常情况3、在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。DECLARE v_empno employees.employee_id%TYPE :empno; no_result EXCEPTION; --1、定义 BEGIN UPDATE employees SET salary salary100 WHERE employee_id v_empno; IF SQL%NOTFOUND THEN RAISE no_result; --2、抛出 END IF; EXCEPTION WHEN no_result THEN --3、处理 DBMS_OUTPUT.PUT_LINE(你的数据更新语句失败了!); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||---||SQLERRM); END; RAISE_APPLICATION_ERROR调用DBMS_STANDARD(ORACLE提供的包)包所定义的RAISE_APPLICATION_ERROR过程可以重新定义异常错误消息将应用程序专有的错误从服务器端转达到客户端应用程序。它为应用程序提供了一种与ORACLE交互的方法。语法如下 RAISE_APPLICATION_ERROR(error_number, error_message, [keep_errors] );error_number 是从 –20,000 到 –20,999 之间的参数这样就不会与 ORACLE 的任何错误代码发生冲突error_message 是相应的提示信息( 2048 字节)keep_errors 为可选如果keep_errors TRUE ,则新错误将被添加到已经引发的错误列表中。如果keep_errorsFALSE(缺省),则新错误将替换当前的错误列表。There are two uses for RAISE_APPLICATION_ERROR. The first is to replace generic Oracle exception messages with our own, more meaningful messages. The second is to create exception conditions of our own, when Oracle would not throw them.create or replace procedure new_emp ( p_name in emp.ename%type , p_sal in emp.sal%type , p_job in emp.job%type , p_dept in emp.deptno%type , p_mgr in emp.mgr%type , p_hired in emp.hiredate%type : sysdate ) is invalid_manager exception; --1、定义 PRAGMA EXCEPTION_INIT(invalid_manager, -2291); --2、关联 dummy varchar2(1); begin if trunc(p_hired) trunc(sysdate) then raise_application_error (-20000, NEW_EMP::hiredate cannot be in the future); --3、抛出自定义异常 end if; insert into emp ( ename , sal , job , deptno , mgr , hiredate ) values ( p_name , p_sal , p_job , p_dept , p_mgr , trunc(p_hired) ); exception when dup_val_on_index then raise_application_error (-20001, NEW_EMP::employee called ||p_name|| already exists, true); --3、包装Oracle异常 when invalid_manager then raise_application_error (-20002, NEW_EMP::||p_mgr || is not a valid manager); --3、包装自定义异常 end; / 客户端调用时会提示详细异常信息-- 测试RAISE_APPLICATION_ERROR自定义异常 SQL exec new_emp (DUGGAN, 2500, SALES, 10, 7782, sysdate1) BEGIN new_emp (DUGGAN, 2500, SALES, 10, 7782, sysdate1); END; * ERROR at line 1: ORA-20000: NEW_EMP::hiredate cannot be in the future --ORA-20000 ORA-06512: at APC.NEW_EMP, line 16 ORA-06512: at line 1 -- 测试RAISE_APPLICATION_ERROR包装自定义异常 SQL exec new_emp (DUGGAN, 2500, SALES, 10, 8888, sysdate) BEGIN new_emp (DUGGAN, 2500, SALES, 10, 8888, sysdate); END; * ERROR at line 1: ORA-20002: NEW_EMP::8888 is not a valid manager ORA-06512: at APC.NEW_EMP, line 42 ORA-06512: at line 1 -- 测试RAISE_APPLICATION_ERROR包装Oracle异常 SQL exec new_emp (DUGGAN, 2500, SALES, 10, 7782, sysdate) PL/SQL procedure successfully completed. SQL SQL exec new_emp (DUGGAN, 2500, SALES, 10, 7782, sysdate) BEGIN new_emp (DUGGAN, 2500, SALES, 10, 7782, sysdate); END; * ERROR at line 1: ORA-20001: NEW_EMP::employee called DUGGAN already exists ORA-06512: at APC.NEW_EMP, line 37 ORA-00001: unique constraint (APC.EMP_UK) violated --同时打印原始堆栈 ORA-06512: at line 1 ​
http://www.zqtcl.cn/news/688644/

相关文章:

  • 中国空间站名字无锡网站优化
  • 怎么做自己淘宝优惠券网站专业的网站制作公司地址
  • php网页搜索引擎优化的核心本质
  • 在国外社交网站做产品推广wordpress自建站
  • flex 做网站色调网站
  • 金融网站模板源代码阿里巴巴网站建设哪家好
  • 成都市网站公司网站建设制作介绍河南
  • 自己如何建设网站微信开发公司哪家好
  • 混沌鸿蒙网站建设wordpress 后台添加菜单
  • 北辰正方建设集团有限公司网站云南网站开发
  • 郑州网站建设信息前端用什么软件开发
  • 动漫视频网站开发做编程的网站有哪些方面
  • 做搜狗网站优化首页软外贸代运营
  • 巴士定制网站开发宁波快速制作网站
  • 永年区住房和城乡建设局网站网站后台文档
  • 网站备案授权书wordpress教程 页面
  • 深圳网站开发制作安徽全网优化
  • 陕西建设局网站appcms程序怎么做网站
  • 石家庄城乡建设厅网站牡丹江百度推广
  • 网站建设源代码 费用事件网站推广
  • 购物网站开发文献综述潮汕网站建设
  • 做五金生意什么网站做比较好网站建设市场规模
  • 网站跟app的区别是什么网络搭建结构图
  • 淘宝网站怎么做视频教程山西推广型网站开发
  • 杭州开发网站2018主流网站建设语言
  • 杂志社网站建设方案书响应式网站服务
  • 青岛网站开发建设农村建设有限公司网站
  • 做水晶接单在哪个网站接php做购物网站怎么样
  • 网站内部结构优化网页设计网站搭建
  • 杭州公司建设网站网络营销是一种什么营销