Oracle01_过程化的SQL语言(高级应用)课件.ppt

Oracle01_过程化的SQL语言(高级应用)课件.ppt

ID:57058488

大小:183.00 KB

页数:20页

时间:2020-07-30

Oracle01_过程化的SQL语言(高级应用)课件.ppt_第1页
Oracle01_过程化的SQL语言(高级应用)课件.ppt_第2页
Oracle01_过程化的SQL语言(高级应用)课件.ppt_第3页
Oracle01_过程化的SQL语言(高级应用)课件.ppt_第4页
Oracle01_过程化的SQL语言(高级应用)课件.ppt_第5页
资源描述:

《Oracle01_过程化的SQL语言(高级应用)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章PL/SQL编程:过程化的SQL语言Procedural难点:2章.重点3章2021/7/27威迅教育开发部监制目标掌握PL/SQL语法结构掌握数据类型的分类及变量的使用掌握各种运算符的使用掌握各种控制语句的使用掌握在PL/SQL中进行异常处理2PL/SQL语言PL/SQL是过程化的SQL语言.一种高级数据库程序设计语言(procedure)PL/SQL代表面向过程化的语言与SQL语言的结合.作用:具有编程语言的灵活性.---为了使用存储过程和函数在各种环境下对Oracle数据库进行快速高效访问3PL/SQL语言PL/SQL语言内容PL/S

2、QL块结构变量与常量数据类型运算符流程控制异常4PL/SQL块结构PL/SQL程序包含了一个或多个PL/SQL块PL/SQL块语法结构DECLARE声明部分BEGIN执行部分EXCEPTION异常处理部分END;5setserveroutputon;//打开输出对象dbms_output.put_line(‘ddddd’);//真正输出6PL/SQL块结构示例:在数据库emp表中修改一名雇员记录,如果没有该记录则创建一条新记录DECLAREv_nonumber(4):=8033;--定义变量v_namevarchar2(10):='张三';v_j

3、obvarchar2(9):='SALESMAN';BEGINUPDATEempSETjob=v_jobWHEREempno=v_no;--更新雇员表IFSQL%NOTFOUNDTHEN--检查记录是否存在,如不存在就插入记录INSERTINTOemp(empno,ename,job)VALUES(v_no,v_name,v_job);ENDIF;END;/7变量与常量声明变量variable_name[CONSTANT]datatype[NOTNULL][:=DEFAULTEXPRESSION]给变量赋值有两种方式DECLAREvar1numb

4、er:=1;/*声明变量并初始化*/var2varchar2(10);/*声明变量*/BEGINvar2:='zhangsan';/*给变量赋值*/END;/8变量与常量可以通过SELECTINTO(或FETCHINTO)给变量赋值DECLAREvar1varchar2(10);BEGINSELECTenameINTOvar1FROMempWHEREempno=7788;dbms_output.put_line(var1);END;/9变量与常量常量:值在程序内部不能改变声明常量必须包括关键字CONSTANTvar1constantnumber:

5、=3;10数据类型标量类型基本类型:intnumber….属性类型行类型,列类型用户自定义类型TYPEstuInfoisRecord(idint,namevarchar2(20),jobvarchar2(20));11数据类型属性类型%type引用表中列的类型%rowtype引用表中行的类型例如:--%typevar1emp.ename%type;--%rowtypevar2emp%rowtype;12运算符算术运算符+,-,*,/,mod关系运算符<>,>,>=,<,<=,=逻辑运算符and,or,not其他常用符号:=,

6、

7、13流程控制条件结

8、构三种形式ifconditionthenStatementendififconditionthenStatements_1elseStatements_2endififcondition1thenStatements_1elsifcondition2thenStatements_2elseStatements_3endif14流程控制循环控制LOOPstatements;IFconditionTHENEXIT;ENDIF;ENDLOOP;WHILEconditionLOOPstatements;ENDLOOP;FORcounterIN[REVER

9、SE]start_range..end_rangeLOOPstatements;ENDLOOP;15空操作和空值当测试条件为TRUE时,可以什么也不做IFn>0THENNULL;ELSEdbms_output.put_line('正常');ENDIF;16PL/SQL异常处理PL/SQL块中可以有异常处理部分EXCEPTIONWHENexcep_name1THEN…WHENexcep_name2THEN…WHENOTHERSTHEN…END;异常有两种预定义的异常用户定义的异常17系统预定义异常例:除零异常declarenumnumber(3):

10、=10;zeronumber(3):=0;resultnumber(6);beginresult:=num/zero;exception

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

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

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