oracle学习第六天

oracle学习第六天

ID:14765624

大小:52.50 KB

页数:18页

时间:2018-07-30

oracle学习第六天_第1页
oracle学习第六天_第2页
oracle学习第六天_第3页
oracle学习第六天_第4页
oracle学习第六天_第5页
资源描述:

《oracle学习第六天》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、ORACLE学习第六天oracle学习第六天PL/SQL块declarebegin--SQL语句--直接写的SQL语句(DML/TCL)--间接写executeimmediate--select语句<1>必须带有into子句selectempnointoenofromempwhereempno=7369;<2>只能查到一行**********<3>字段个数必须和变量的个数一致exception--异常when<异常名字>then--特定异常<处理语句>whenothersthen--所有异常都可捕获<处理语句>end;<例子>

2、编写程序向DEPT表中插入一条记录,从键盘输入数据,如果数据类型输入错误要有提示无法插入记录也要有提示只能输入正数,如果有负数提示declarennumber;nodept.deptno%type;nmdept.dname%type;lcdept.loc%type;expexception;--异常的变量exp1exception;numnumber:=0;--计数器pragmaexception_init(exp,-1);--预定义语句--(-1错误和异常变量关联)pragmaexception_init(exp1,-1476);e1exception

3、;--自定义异常变量begin--输入值no:='&编号';num:=num+1;ifno<0thenraisee1;--自定义异常的引发endif;nm:='&名称';num:=num+1;lc:='&地址';num:=num+1;n:=10/0;insertintodeptvalues(no,nm,lc);num:=num+1;commit;exception--自定义异常whene1thendbms_output.put_line('编号不能为负数');--数据类型不对whenvalue_errorthenifnum=0thendbms_outpu

4、t.put_line('编号数据类型不对');elsifnum=1thendbms_output.put_line('名称数据类型不对');elsifnum=2thendbms_output.put_line('地址数据类型不对');endif;rollback;--主键冲突whenexpthen--sqlcode全局变量异常错误号--sqlerrm全局变量异常的文字信息--dbms_output.put_line('异常的编号:'

5、

6、sqlcode);--dbms_output.put_line('异常的内容:'

7、

8、sqlerrm);--dbms_ou

9、tput.put_line('编号已存在');rollback;--非预定义异常(关联错误号)whenexp1then--dbms_output.put_line('0做了除数');raise_application_error(-20001,'0做了除数');--引起一个自定义的错误--预先保留-20001到-29999编号rollback;--其他的异常whenothersthendbms_output.put_line('异常的编号:'

10、

11、sqlcode);dbms_output.put_line('异常的内容:'

12、

13、sqlerrm);--dbms

14、_output.put_line('出现错误');rollback;end;--insertintodeptvalues(40,'asdf','asdf');<简单的做法>--存放异常的createtablesave_exp(bhnumber,wzvarchar2(1000));declarenodept.deptno%type;nmdept.dname%type;lcdept.loc%type;errnonumber;errtextvarchar2(1000);beginno:='&编号';nm:='&名称';lc:='&地址';insertintod

15、eptvalues(no,nm,lc);commit;exceptionwhenothersthenrollback;errno:=sqlcode;errtext:=sqlerrm;insertintosave_expvalues(errno,errtext);commit;end;<游标>内存中的一块区域,存放的是select的结果1。隐式游标单条sql语句所产生的结果集合用关键字SQL表示隐式游标4个属性%rowcount影响的记录的行数整数%found影响到了记录true%notfound没有影响到记录true%isopen是否打开布尔值永远是fa

16、lse多条sql语句隐式游标SQL永远指的是最后一条sql语句的结果主要使用在u

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。