Oracle数据库技术与应用课件:PLSQL编程_第1页
Oracle数据库技术与应用课件:PLSQL编程_第2页
Oracle数据库技术与应用课件:PLSQL编程_第3页
Oracle数据库技术与应用课件:PLSQL编程_第4页
Oracle数据库技术与应用课件:PLSQL编程_第5页
已阅读5页,还剩14页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章第四章PL/SQL编程目标掌握PL/SQL语法结构掌握数据类型的分类及变量的使用掌握各种运算符的使用掌握各种控制语句的使用掌握在PL/SQL中进行异常处理PL/SQL语言PL/SQL是一种高级数据库程序设计语言PL/SQL代表面向过程化的语言与SQL语言的结合PL/SQL将第四代语言的强大功能和灵活性与第三代语言的过程结构的优势融为一体PL/SQL具有编程结构、语法和逻辑机制PL/SQL用于在各种环境下对Oracle数据库进行快速高效访问PL/SQL语言PL/SQL语言内容PL/SQL块结构变量与常量数据类型运算符流程控制空操作和空值PL/SQL块结构PL/SQL程序包含了一个或多个PL/SQL块PL/SQL块语法结构DECLARE声明部分BEGIN执行部分EXCEPTION异常处理部分END;PL/SQL块结构示例:在数据库emp表中修改一名雇员记录,如果没有该记录则创建一条新记录DECLAREv_nonumber(4):=8033;--定义变量v_namevarchar2(10):='张三';v_jobvarchar2(9):='SALESMAN';BEGINUPDATEempSETjob=v_jobWHEREempno=v_no;--更新雇员表IFSQL%NOTFOUNDTHEN--检查记录是否存在,如不存在就插入记录

INSERTINTOemp(empno,ename,job)VALUES(v_no,v_name,v_job);ENDIF;END;/变量与常量

声明变量variable_name[CONSTANT]datatype[NOTNULL][:=DEFAULTEXPRESSION]给变量赋值有两种方式DECLAREvar1number:=1;/*声明变量并初始化*/var2varchar2(10);/*声明变量*/BEGINvar2:='zhangsan';/*给变量赋值*/END;/变量与常量可以通过SELECTINTO(或FETCHINTO)给变量赋值DECLAREvar1varchar2(10);BEGINSELECTenameINTOvar1FROMempWHEREempno=7788;dbms_output.put_line(var1);END;/变量与常量常量:值在程序内部不能改变声明常量必须包括关键字CONSTANTvar1constantnumber:=3;数据类型标量类型属性类型用户自定义类型数据类型属性类型%type引用表中列的类型%rowtype引用表中行的类型例如:--%typevar1emp.ename%type;--%rowtypevar2emp%rowtype;运算符算术运算符+,-,*,/,mod关系运算符<>,>,>=,<,<=,=逻辑运算符and,or,not其他常用符号:=,||流程控制条件结构三种形式ifconditionthenStatementendififconditionthenStatements_1elseStatements_2endififcondition1thenStatements_1elseifcondition2thenStatements_2elseStatements_3endif流程控制循环控制LOOPstatements;IFconditionTHENEXIT;ENDIF;ENDLOOP;WHILEconditionLOOPstatements;ENDLOOP;FORcounterIN[REVERSE]start_range..end_rangeLOOPstatements;ENDLOOP;空操作和空值当测试条件为TRUE时,可以什么也不做IFn>0THENNULL;ELSEdbms_output.put_line('正常');ENDIF;PL/SQL异常处理PL/SQL块中可以有异常处理部分EXCEPTIONWHENexcep_name1THEN…WHENexcep_name2THEN…WHENOTHERSTHEN…END;异常有两种

预定义的异常用户定义的异常系统预定义异常例:除零异常declarenumnumber(3):=10;zeronumber(3):=0;resultnumber(6);beginresult:=num/zero;exceptionwhenZERO_DIVIDEthendbms_output.put_line('被零除!');end;用户定义异常当部门员工数超过规定人数引发自定义异常declareovernumberEXCEPTION;--用户定义的异常

maxnumconstantnumber:=5;numnumber;beginselectcount(*)intonumfromempwheredeptno=&部门编号;ifnum>maxnumthenRAISEovernumber;--使用RAISE语句引发自定义异常

endif;dbms_output.put_line('该部门雇员人数为:'||num);exceptionwhenovernumberthendbms_output.put_line('该部门雇员人数超过了规定人数!');end;总结PL/SQL语言是面向过程语言与SQL语言的结合数据在数据库与PL/SQL程序之间是通过变量进行传递的。变量通常是在PL/SQL块的声明部分定义除了15种标量数据类型外,Oracle还提供了属性类型。并允

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论