!6PLSQL程序设计1-游标异常过程.ppt

  1. 1、本文档共137页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
!6PLSQL程序设计1-游标异常过程.ppt

PL/SQL块的嵌套 Declare /*本部分可以定义变量、游标等*/ V_name varchar2(10); V_sql number(7,12); Begin /*执行部分*/ 。。。。。。 Begin exception /* 执行异常处理部分*/ …… end; exception /*执行异常部分*/ …… End; 数据类型转换 PL/SQL常见的数据类型之间的转化函数如下: (1) TO_CHAR:将NUMBER和DATE类型转成VARCHAR2。 (2) TO_DATE:将CHAR转换成DATE类型。 (3) TO_NUMBER:将CHAR转换成NUMBER类型。 select to_char(sysdate,YEAR MM DD hh12:mi:ss) from dual; select to_char(111) from dual; select to_date(2008 4月 27 星期日,YYYY MON DD DAY) from dual; select to_number($123,233,455,623.3400,$999,999,999,999.0000) from dual; PL/SQL是如何处理异常的?    -  程序引发异常    -  每当引发异常时,都将控制权传递给异常处理程序    -  异常处理程序处理异常   .异常中涉及的步骤    -  声明异常    -  引发异常    -  处理异常 异常处理部分 【例】下面是一个异常处理的例子: SET SERVEROUTPUT ON; DECLARE x NUMBER; BEGIN x:= aa123; EXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE(数据类型错误); END; 运行结果为: 数据类型错误 PL/SQL 过程已成功完成 (3)存储过程的管理 修改存储过程 CREATE OR REPLACE PROCEDURE procedure_name 查看存储过程及其源代码 SELECT name,text FROM user_source WHERE type=PROCEDURE; 重新编译存储过程 ALTER PROCEDURE show_emp COMPILE; 删除存储过程 DROP PROCEDURE show_emp; 6.6.2 函数 函数的创建 函数的调用 函数的管理 (1)函数的创建 基本语法为 CREATE [OR REPLACE] FUNCTION function_name (parameter1_name [mode] datatype [DEFAULT|:=value] [, parameter2_name [mode] datatype [DEFAULT|:=value],…]) RETURN return_datatype AS|IS /*Declarative section is here */ BEGIN /*Executable section is here*/ EXCEPTION /*Exception section is here*/ END [function_name]; 注意 在函数定义的头部,参数列表之后,必须包含一个RETURN语句来指明函数返回值的类型,但不能约束返回值的长度、精度、刻度等。如果使用%TYPE,则可以隐含地包括长度、精度、刻度等约束信息; 在函数体的定义中,必须至少包含一个RETURN 语句,来指明函数返回值。也可以有多个RETURN语句,但最终只有一个RETURN语句被执行。 例如,创建一个以部门号为参数,返回该部门最高工资的函数。 CREATE OR REPLACE FUNCTION return_maxsal (p_deptno emp.deptno%TYPE) RETURN emp.sal%TYPE AS v_maxsal emp.sal%TYPE; BEGIN SELECT max(sal) INTO v_maxsal FROM emp WHERE deptno=p_deptno; RETURN v_maxsal; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(The deptno is invalid!); END return

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档