第三讲plsql编程基础内容摘要:
. . .] 预定义异常 Oracle自动引发的预定义异常大约 24种: NO_DATA_FOUND TOO_MANY_ROWS INVALID_CURSOR ZERO_DIVIDE DUP_VAL_ON_INDEX CURSOR_ALREADY_OPEN 预定义异常处理 : 实例 PROCEDURE elim_inventory (v_product_id IN %TYPE) IS v_id %TYPE。 BEGIN SELECT id INTO v_id FROM s_product WHERE id = v_product_id。 DELETE FROM s_inventory WHERE product_id = v_product_id。 COMMIT。 ... ... EXCEPTION WHEN NO_DATA_FOUND THEN ROLLBACK。 (TO_CHAR(v_product_id)||is invalid.’)。 WHEN TOO_MANY_ROWS THEN ROLLBACK。 (‘data corruption in S_PRODUCT.’)。 WHEN OTHERS THEN ROLLBACK。 (‘Other error occurred.’)。 END elim_inventory。 Oracle server 未定义的异常 标准的 Oracle错误 用户在定义部分定义, Oracle自动引发 处理 Oracle Server 未定义的异常 Declare Associate Reference 定义部分 异常处理部分 命名异常 异常对应代码 pragma EXCEPTION_INIT 处理被引发的异常 未定义异常 : 实例 捕获 Oracle Server 2292 号错误,为其设定错误提示信息为“非法的一致性错误” DECLARE e_products_remaining EXCEPTION。 PRAGMA EXCEPTION_INIT ( e_products_remaining, 2292)。 . . . BEGIN . . . EXCEPTION WHEN e_products_remaining THEN (39。 Referential integrity constraint violated.39。 )。 . . . END。 1 2 3 用户定义的异常 程序执行中出现的编程人员认为的非正常情况 在程序中显式定义并引发 处理用户定义的异常 Declare Raise Reference 定义部分 异常处理部分 命名异常 使用 RAISE语句引发异常 处理被引发的异常 执行部分 用户定义的异常处理:实例 DECLARE e_amount_remaining EXCEPTION。 . . . BEGIN . . . RAISE e_amount_remaining。 . . . EXCEPTION WHEN e_amount_remaining THEN (39。 There is still an amount in stock.39。 )。 . . . END。 1 2 3 SQLCODE和 SQLERRM Oracle内置函数 描述错误代码和信息 在 OTHERS异常处理器中特别有用,可以告知用户何种内部错误被引发 SQLCODE SQLERRM 用户定义的异常 +1 UserDefined Exception Oracle定义错误 错误代码 同错误代码相连的信息 没有异常发生 0 ora0000: normal,successful pletion 异常处理的函数 : 实例 转存未处理的异常的错误代码及提示信息 . . . v_error_code NUMBER。 v_error_message VARCHAR2(255)。 BEGIN . . . EXCEPTION . . . WHEN OTHERS THEN ROLLBACK。 v_error_code := SQLCODE。 v_error_message := SQLERRM。 (TO_CHAR(v_error_code)|| 39。 : 39。 || v_error_message)。 END。 实例 DECLARE salary %TYPE:=0。 last_name。第三讲plsql编程基础
相关推荐
WWW服务器可获取访问者的信息,包括谁正在访问一个 WWW网站(访问者的 URL),访问者浏览网站的时间有多长,每次访问的日期和时间,以及浏览了哪些页面。 这些数据放在 WWW运行日志文件里。 这个文件增长很快 — 尤其是那些每天有成千上万访问者的网站。 对运行日志文件进行认真分析会有很大收获,它可以揭示出访问者的很多有趣信息,以及他们喜欢什么或不喜欢什么。 2020/11/23 27
词的句子进行 比较分析。 语气词“了”,有没有对语义表达很有关系。 今天上三堂课。 今天上三堂课了。 (二 ) 准确掌握虚词的用法 对于虚词的用法,大致可以从以下六个方面去考察,即同类 或同义的虚词可能存在以下八个方面的区别 : ( 1) 适应不同的句类 还是 —— 或者 ① 猜猜看 , 明天阴天还是晴天。 ② *猜猜看 , 明天阴天或者晴天。 ③无论明天阴天或者 /还是晴天,都对我们没有影响。
in、 ing、 iong。 ③ 合口呼韵母 —— 韵腹是 u或以 u开头的韵母。 有 9个: u、 ua、 uo、 uai、 uei uan、 uang、 uen、 ueng ④ 撮口呼韵母 —— 韵腹是 252。 或以 252。 开头的韵母。 有 4个: 252。 、 252。 e、 252。 an、 252。 n 以上四类可以简称“四呼”,这是我国传统音韵学对韵母的一种分类方法。
服都湿透了,行军的速度也慢下来,有几个体弱的士兵竟晕倒在路边。 曹操看行军的速度越来越慢,担心贻误战机,心里很是着急。 可是,眼下几万人马连水都喝不上,又怎么能加快速度呢。 他立刻叫来向导,悄悄问他:“这附近可有水源。 ”向导摇摇头说:“泉水在山谷的那一边,要绕过去还有很远的路程。 ”曹操想了一下说,“不行,时间来不及。 ”他看了看前边的树林,沉思了一会儿, 对向导说:“你什么也别说,我来想办法