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

ORACLE第六天.doc

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

ORACLE第六天 PL/SQL块 declare begin --SQL语句 --直接写的SQL语句(DML/TCL) --间接写execute immediate DDL/DCL命令字符串 --select 语句 1必须带有into子句 select empno into eno from emp where empno =7369; 2只能查到一行********** 3字段个数必须和变量的个数一致 exception --异常 when 异常名字 then --特定异常 处理语句 when others then --所有异常都可捕获 处理语句 end; 例子 编写程序 向DEPT表中插入一条记录, 从键盘输入数据,如果 数据类型输入错误要有提示 无法插入记录 也要有提示 只能输入正数,如果有负数提示 declare n number; no dept.deptno%type; nm dept.dname%type; lc dept.loc%type; exp exception; --异常的变量 exp1 exception; num number:=0; --计数器 pragma exception_init(exp,-1); --预定义语句 --(-1错误和异常变量关联) pragma exception_init(exp1,-1476); e1 exception; --自定义异常变量 begin --输入值 no := 编号; num := num + 1; if no 0 then raise e1; --自定义异常的引发 end if; nm := 名称; num := num +1; lc := 地址; num := num +1; n := 10 /0; insert into dept values (no,nm,lc); num := num +1; commit; exception --自定义异常 when e1 then dbms_output.put_line(编号不能为负数); --数据类型不对 when value_error then if num =0 then dbms_output.put_line(编号数据类型不对); elsif num = 1 then dbms_output.put_line(名称数据类型不对); elsif num =2 then dbms_output.put_line(地址数据类型不对); end if; rollback; --主键冲突 when exp then --sqlcode全局变量 异常错误号 --sqlerrm全局变量 异常的文字信息 --dbms_output.put_line(异常的编号:||sqlcode); --dbms_output.put_line(异常的内容:||sqlerrm); --dbms_output.put_line(编号已存在) ; rollback; --非预定义异常(关联错误号) when exp1 then --dbms_output.put_line(0做了除数) ; raise_application_error(-20001,0做了除数); --引起一个自定义的错误 --预先保留-20001 到 -29999编号 rollback; --其他的异常 when others then dbms_output.put_line(异常的编号:||sqlcode); dbm

文档评论(0)

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

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

1亿VIP精品文档

相关文档