版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章第四章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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋新教材人教PEP版六年级上册英语Unit 1 Amazing places 教案(单元整体教学设计)
- 送配电线路工诚信品质评优考核试卷含答案
- 小学六年级品德与社会教学设计:辉煌成就背后的中国力量
- 初中数学七年级上册《补角和余角》教学设计
- 缩聚磷酸盐生产工岗前纪律考核试卷含答案
- 应急救援员安全综合知识考核试卷含答案
- 粉末冶金成型工持续改进评优考核试卷含答案
- 化妆品制造工岗前环保及安全考核试卷含答案
- 初中七年级音乐舞蹈采茶调教学设计
- 混料式立窑石灰煅烧工岗前安全综合考核试卷含答案
- 2026年贵阳市公共交通有限公司第二批驾驶员招聘笔试参考题库及答案详解
- 有机废气活性炭吸附处理安装工程竣工验收报告
- 2026年卫生高级职称面审答辩(社区护理)副高面审经典试题及答案
- 2025年广州市民政局直属事业单位招聘笔试真题
- 蒸汽灭菌器培训课件
- 兰花介绍课件
- 《井下作业事故处理》课件-第六章 油水井维修及事故处理
- 《光伏发电技术》课件(共七章)
- T/CAPE 10108-2024设备设施报废管理指南
- 食品配送环节质量控制措施
- 眩晕相关课件
评论
0/150
提交评论