网站大量收购闲置独家精品文档,联系QQ:2885784924

ORACLE存储过程培训文档.doc

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

河北综合客服设计文档 设计说明书 Oracle存储过程 2007年7月 大唐软件技术股份有限公司 Copyright By CATTSoft. All Rights Reserved 版本修订历史 起止日期 作者/修订人 更改章节 修改描述 版本/状态 2007-7 赵振明 初始创建 1.0 目 录 1. PL/SQL语言简介 1 2. 调试运行环境说明 8 3. 技术参考资料 10 PL/SQL语言简介 1.1 PL/SQL简介 PL/SQL是ORACLE的过程化语言,包括一整套的数据类型、条件结构、循环结构和异常处理结构,PL/SQL可以执行SQL语句,SQL语句中也可以使用PL/SQL函数。 1.2 创建PL/SQL程序块 DECLARE … BEGIN … EXCEPTION END; 1.3 PL/SQL数据类型 名称 类型 说明 NUMBER 数字型 能存放整数值和实数值,并且可以定义精度和取值范围 BINARY_INTEGER 数字型 可存储带符号整数,为整数计算优化性能 DEC 数字型 NUMBER的子类型,小数 DOUBLE PRECISION 数字型 NUMBER的子类型,高精度实数 INTEGER 数字型 NUMBER的子类型,整数 INT 数字型 NUMBER的子类型,整数 NUMERIC 数字型 NUMBER的子类型,与NUMBER等价 REAL 数字型 NUMBER的子类型,与NUMBER等价 SMALLINT 数字型 NUMBER的子类型,取值范围比INTEGER小 VARCHAR2 字符型 存放可变长字符串,有最大长度 CHAR 字符型 定长字符串 LONG 字符型 变长字符串,最大长度可达32,767 DATE 日期型 以数据库相同的格式存放日期值 BOOLEAN 布尔型 TRUE OR FALSE ROWID ROWID 存放数据库的行号 例子: DECLARE ORDER_NO NUMBER(3); CUST_NAME VARCHAR2(20); ORDER_DATE DATE; EMP_NO INTEGER:=25; PI CONSTANT NUMBER:=3.1416; BEGIN NULL; END; 1.4 处理PL/SQL的异常 1.4.1 PL/SQL的异常 例如: DECLARE X NUMBER; BEGIN X:= yyyy;--Error Here EXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE(EXCEPTION HANDED); END; 实现技术: EXCEPTION WHEN first_exception THEN … WHEN second_exception THEN … WHEN OTHERS THEN /*THERS异常处理器必须排在最后,它处理所有没有明确列出的异常。*/ … END; 1.4.2 预定义异常 异常名称 ORACLE错误 说明 CURSOR_ALREADY_OPEN ORA-6511 试图打开一个已打开的光标 DUP_VAL_ON_INDEX ORA-0001 试图破坏一个唯一性限制 INVALID_CURSOR ORA-1001 试图使用一个无效的光标 INVALID_NUMBER ORA-1722 试图对非数字值进行数字操作 LOGIN_DENIED ORA-1017 无效的用户名或者口令 NO_DATA_FOUND ORA-1403 查询未找到数据 NOT_LOGGED_ON ORA-1012 还未连接就试图数据库操作 PROGRAM_ERROR ORA-6501 内部错误 ROWTYPE_MISMATCH ORA-6504 主变量和光标的类型不兼容 STORAGE_ERROR ORA-6500 内部错误 TIMEOUT_ON_RESOURCE ORA-0051 发生超时 TOO_MANY_ROWS ORA-1422 SELECT INTD命令返回的多行 TRANSACTION_BACKED_OUT ORA-006 由于死锁提交被退回 VALUE_ERROR ORA-6502 转换或者裁剪错误 ZERO_DIVIDE ORA-1476 试图被零除   1.4.3 自定义异常处理 DECLARE BAD_ROWID EXCEPTION; X ROWID; PRAGMA EXCEPTION_INIT(BAD_ROWID,-01445); BEGIN SELECT

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档