PLSQL基础.ppt_第1页
PLSQL基础.ppt_第2页
PLSQL基础.ppt_第3页
PLSQL基础.ppt_第4页
PLSQL基础.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、基于PL/SQL、基于PL/SQL或什么是PL/SQL?PL/SQL的默认配置基本语法数据类型变量是什么:结构控制语句游标、异常错误和PL/SQL?PL/SQL语言是SQL语言扩展,它具有为节目开发(如数据封装、异常处理、面向对象等)设计的特性。PL/SQL内置于Oracle服务器和开发工具中,可在执行效率和Oracle数据库之间实现完美平衡。在PL/SQL模块中,可以使用查询语句和数据操作语句(即DML操作)编写具有数据库事务处理功能的模块。数据定义(DDL)和数据控制(DCL)命令处理必须通过Oracle提供的特殊DMBS_SQL程序包完成。PL/SQL还可以用于创建过程、函数、程序包和数

2、据库触发器。程序和函数(也称为副程式)会在定义时提供程序名称和函数名称。存储在数据库中的存储程序和存储函数,可以由程序调用,在结构上类似于节目模块。PL/SQL进程结构的特点是逻辑上相关的语句可以组织成单个节目块。包含或调用子块以构建强大的程序。可以将复杂的问题划分为易于管理、定义和实施的较小块集。块结构和基本语法,PL/SQL程序的基本单位是块(BLOCK),块是实现特定功能的逻辑模块。一个PL/SQL程序由一个或多个块组成。块具有固定结构,也可以嵌套。块可以包含三个部分,每个部分由关键字标识。块的每个部分的作用解释如下:(1) DECLARE:部分标志宣言。(2) BEGIN:可执行的部分

3、标志。(3) EXCEPTION:异常处理部分徽标。(4)结束;节目结束标志。显示PL/SQL节目模块的输出信息。DBMS_OUTPUT。PUT(字符串表达式);DBMS_OUTPUT。PUT_LINE(字符串表达式);Dbms _ output.new _ line/回车符、块结构和基本语法以及PL/SQL模块可以使用查询语句和数据操作语句(即DML操作),因此PL/SQL程序与SQL语言紧密结合。在PL/SQL程序中,最常见的是使用SELECT语句获取数据库信息。与直接运行SELECT语句不同,程序中的SELECT语句总是与INTO匹配,INTO后面是接收查询结果的变量,分别是SELECT

4、列名1、列名2.注意:接收查询结果的变量的类型、顺序和数量必须与SELECT语句中相同字段的类型、顺序和数量完全匹配。此外,SELECT语句返回的结果集必须是一行。否则,将出现系统错误。接收返回的多行结果时,可以使用后面介绍的光标方法。使用、INSERT、DELETE和UPDATE的语法保持不变,但程序检查语句的执行状态,并使用COMMIT或ROLLBACK事务处理。“-”是注释符号,后面是程序的注释部分。牙齿部分不编译运行,因此输入程序时可以省略。/*.*/中间也是注释部分,与“-”注释方法不同,可以跨多行注释。PL/SQL数据类型、数据类型、变量定义和变量的角色用于存储数据,可以在过程语句

5、中使用。变量可以在宣言部分初始化。也就是说,您可以指定初始值。定义变量时,可以说明为常量并指定给固定值变量的命名约定是以字符开头,后跟另一个字符序列。字符序列不区分大小书写,最大长度可以为30个字符(字母、数字、下划线等)。不能将Oracle保留字用作变量名。变量名与程序引用的字段名不重复。如果很重,则变量名用作列名。定义变量。变量的范围在定义牙齿变量的节目范围内,如果程序包含子块,则子块也有效。但是,子块中定义的变量仅对定义变量的子块有效,对主程序无效。语法:变量名CONSTANT类型标识符NOT NULL:=值|DEFAULT值;CONSTANT关键字用于说明定义的变量是常量,如果是常量,

6、则必须有分配节来指定值。键值NOT NULL变量表示不能为空。=或DEFAULT用于将初始值赋给变量。变量可以在程序中使用赋值语句替代值。可以通过输出语句查看变量值。根据变量名称:=值或PL/SQL表达式、两种茄子特殊类型、%TYPE:表中的字段或变量类型定义变量的声明可以根据数据库表中的字段或已定义的变量进行定义。方法是在表格的栏位名称或已定义的变数名称后附加%TYPE,以用作资料类型。字段变量是变量名称表名称。字段名%类型;%ROWTYPE:唱片变量的定义也可以基于表或视图的记录中的所有字段定义称为唱片变量的变量。唱片变量包含多个字段,这些字段在结构上与表中的一个记录相同,方法是在表名后附

7、加%ROWTYPE。唱片变量中的字段名是表中的字段名,数据类型也匹配。唱片变量名表名% rowtype唱片变量中的字段是变量名。可以通过记录字段名(例如emp_record.ename)获取。declare v _ record student % rowtype;begin select * into v _ record from student where name=mly;DBMS _ output . put _ line(id : | | v _ record . student id | | name 3360 | | v _ record . name End;运算符和函数、P

8、L/SQL中的常见运算符和函数算术运算包括加法()、减法(-)、乘法(*)、除法(/)和金志洙(* *)。关系运算:小于()、大于等于(=)、等于(=)、不等于(!=或)。文字运算:连接(| |)。逻辑运算符:和(AND)、或(OR)、郑智薰(NOT)。运算符说明IS NULL或IS NOT NULL用于确定牙齿操作数的值是否为空,不能通过=来判断。此外,对null值执行的运算将导致对null值执行算术和比较操作的结果都为null,但由于可以对null值执行连接操作,因此将成为其他部分的字符串。范例:NULL 5的结果为NULL。NULL5结果为空。空| ABC的结果为ABC。可以使用大多数O

9、racle函数(PL/SQL),但是诸如avg()、MIN()、max()等组函数(如AVG()、MAX()等)只能出现在SQL语句中,其他GREATEST()、LEAST()也不可用。类型转换在大多数情况下是自动的,如果不能进行自动类型转换,则需要转换函数。基于PL/SQL,什么是PL/SQL?PL/SQL的基本配置基本语法数据类型变量定义结构控制语句分支结构if语句case语句循环游标、异常错误、IF语句、分支结构是最基本的节目结构,分支结构由IF语句实现。IF语句允许您根据条件更改程序的逻辑流。IF语句具有: IF条件1 THEN语句序列1牙齿,格式如下:ELSIF条件2 THEN语句序

10、列2;ELSE语句序列n;END IF,declare v _ id varchar 2(100);begin select student id into v _ id from student where name=mly;if v _ id=001 thend BMS _ output . put _ line(v _ id);End if/* if v _ id=001 thend BMS _ output . put _ line(v _ id=001);elsif v _ id=002 thend BMS _ output . put _ line(v _ id=002);else

11、dbms _ output . put _ line(v _ id is null);End if*/end;IF语句说明条件部分是逻辑表达式,值可以是真(TRUE)、假(FALSE)或空(NULL)。语句序列是多个可执行语句。视情况而定,分支结构可以具有以下形式:if-then-end if if-then-else-end if if-then-elsif-then else-end if要求:请分别填写相应内容CASE WHEN条件表达式1 THEN语句序列1 WHEN条件表达式2 THEN语句序列2 WHEN条件表达式n THEN语句序列n ELSE语句序列n 1 END CASE,c

12、asewhen v _ id=001 thend BMS _ output . put _ line(v _ id is 001);when v _ id=002 thend BMS _ output . put _ line(v _ id is 002);elsedbms _ output . put _ line(v _ id is null);End case、CASE语句和CASE语句适用于分支的多分支处理,并可用于以下三种茄子用途:基本CASE结构语句的语法如下:CASE可选变量名称WHEN值1 THEN语句序列1 WHEN值n THEN语句序列n ELSE语句序列n 1 END C

13、ASE在整个结构中,选择变量的值按顺序与表达式的值匹配,如果相等,则执行相应的语句序列,否则执行ELSE部分中的语句序列。表达式结构CASE语句,在Oracle中,CASE结构还可以表示为赋值表达式,该表达式根据选择变量的值得出不同的结果。基本结构如下:变量:=选择CASE变量名WHEN表达式1 THEN值1 WHEN表达式n THEN值n ELSE值n 1 ENDv _ result :=case v _ grade WHEN a THEN优秀WHEN D THEN差异ELSE未知END,基于PL/SQL,什么是PL/SQL?PL/SQL的基本配置基本语法数据类型变量定义结构控制语句分支结构

14、循环基本循环for LOOP循环WHILE LOOP循环光标、异常错误、基本lop和基本循环结构如下:LOOP-循环起始识别语句1;文章2;EXIT WHEN条件;END LOOP-循环端点标识重复LOOP和END LOOP之间语句的角色。EXIT用于在循环期间终止循环,WHEN定义EXIT的终止条件。如果没有WHEN条件,则在遇到EXIT语句时无条件终止循环。写循环计算:总计=1 2 3 4 10,create or replace procedure loop pro is I integer :=1;v _ sum number :=0;begin loop v _ sum :=v _

15、sum I;Exit when I=10I :=I 1;End loopDBMS _ output . put _ line(v _ sum);End looppro,While循环,While条件loop.End loop,v _ step :=1;v _ result :=0;while v _ step 11 loop v _ result :=v _ result v _ step;v _ step 3360=v _ step 1;End loop、FOR LOOP、FOR循环是FOR控制变量in REVERSE下限.上限LOOP门1;文章2;END LOOP循环控制变量隐式定义,无需

16、声明。指示下限和上限回路数。通常,循环控制变量的值从下限增加到上限,REVERSE关键字指示循环控制变量的值从上限减少到下限。写循环计算:总计=1 2 3 4 10,创建或replace procedure loop pro is j integer :=1;v _ sum number :=0;Begin for jin1.10 loop v _ sum3360=v _ sumjEnd loopDBMS _ output . put _ line(v _ sum);End looppro,基于PL/SQL,什么是PL/SQL?PL/SQL的默认配置结构控制语句游标、异常错误游标的概念隐式游标

17、显式游标异常处理、游标是什么?光标是系统或用户定义为变量的SQL的内存工作区。光标用于临时存储从数据库中提取的数据块。有时,您需要将数据从存储在磁盘上的表传输到电脑内存中,最后显示处理结果,或最终写回数据库文件。这样可以加快数据处理速度。否则,频繁的磁盘数据交换会降低效率。什么是光标?游标有两种茄子类型:明确游标和隐含游标。上一程序中使用的SELECT.INTO.查询语句一次只能提取一个数据库行。对于这种形式的查询和DML操作,将使用隐式光标。但是,要提取多行数据,必须在程序员中定义显式光标,并通过与光标相关的语句进行处理。显式光标对应于返回多行中多个列的SELECT语句。光标打开时,数据在数据库中传递到光标变量,应用程序再次从光标变量中分离所需的数据,并对其进行处理。隐式游标,如上所述,DML操作和单行SELECT语句使用隐式游标。此类光标是插入操作:INSERT。更新任务:更新。删除工作:删除。单行查询操作:SELECT.INTO.在系统中使用隐式光标时,隐式光标的属性可以帮助您了解操作的状态和

温馨提示

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

评论

0/150

提交评论