
plsql
文章平均质量分 55
每天get一点点
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.8游标
Oracle的游标是一个指向上下文区域的指针,这个上下文区域是PL/SQL语句块中在执行SELECT 语句或DML数据操纵语句时分配的。比如当使用SELECT语句查询返回多行数据时,可以通过游标来指向结果集中的一行,使用循环语句依次对每一行进行处理,游标与SELECT查询结果集示意如下图所示。 游标可以分为如下两种: a. 隐式游标:由PL/SQL 自动为DML语句或SELECT-INTO 语句分配的游标,包括只返回一条记录的查询操作。 b. 显示游标:在PL/SQL块的声明区域中显示定义的,用.原创 2021-03-09 19:40:31 · 135 阅读 · 1 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.7结集合与记录
集合与记录都属于PL/SQL的复合类型,集合允许将类型相同的多个变量当做一个整体进行处理,类似于Java或C语言中的数组,记录允许将多个不同类型的变量当作一个整数进行处理。通过使用记录与几集合类型,可以一次性处理多个数据,而不用一个数据一个数据地进行处理,提升了程序的性能,减轻了开发人员的工作量。 1.记录类型 记录类型的变量类似于数据库中的一条记录,一个记录类型可以包含多个简单类型的值或复杂类型的值。例如要获取员工表中员工的姓名、职位及薪资信息,如果不使用记录类型,需要定义3个变量来分别保存这些信息,原创 2021-03-09 19:25:34 · 173 阅读 · 1 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.6结构化异常处理
PL/SQL 块的组成部分包含了一个异常处理块,该快以Exception开始,通过在PL/SQL 代码中包含了异常处理快,让程序的主体与异常部分的处理相隔离,使得程序的结构更加清晰易读。 PL/SQL 通过使用异常和异常处理器来进行错误的处理,异常就是一些Oracle预定义的错误或者用户自定义的错误。在发生错误时,Oracle预定义的异常会被系统隐式抛出,对于用户自定义的异常,开发人员可以使用RAISE手动抛出。当异常被抛出后,异常处理器将捕捉到这些异常,然后执行异常处理代码。 为了更好地了解异常的执行原创 2021-03-09 18:07:06 · 273 阅读 · 1 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.5触发器
2.2.5触发器 与包或其他子程序不同的是,触发器不能被显示的调用,而是在数据库事件发生时隐式的运行的,并且触发器不接受参数。触发器是在某些特定的事件发生时被隐式的执行的,比如在修改表、建立对象、登录数据库、操作表数据式被执行。 触发器被执行的语句块称为事件触发,而触发的事件可以是对数据库表的DML操作,比如INSERT、UPDATE或DELETE操作,或者是对视图的操作。Oracle还支持系统事件的触发,比如在启动或者关闭例程时、用户登录或断开会话时等。 举个栗子,为工人加薪的时候,希望能够保留一份更新记原创 2021-03-09 18:05:18 · 115 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.4过程、函数与包
2.2.4过程、函数与包 过程、函数与包都属于PL/SQL语句块中的命名块,过程和函数统称为子程序。过程和函数非常相似,具有如下特点: (1)都具有名称,可以接收或者传入参数。 (2)都具有声明部分、执行部分和异常处理部分。 (3)在使用前会被编译并存储到数据库中,可以使用Toad或者Oracle SQL Developerr来查看数据库中已经存在的过程或者函数。 注意:函数和过程最大的不同在于函数具有返回值,而过程没有。 CREATE OR REPLACE PROCEDURE 过程名(参数1 IN 数据类原创 2021-02-20 10:53:08 · 144 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.3程序控制语句
2.2.3程序控制语句 机构化程序设计语言分顺序、循环、分支3中结构,PL/SQL提供了一系列的控制和跳转语句来支持这3种结构。 1.条件控制语句 最常用的是IF-THEN-ELSE语句,IF用来检查指定表达式的条件:THEN在条件中的值为True时执行代码:ELSE在条件值为False或NULL时执行代码。在IF条件中可以使用布尔表达式包含多个条件,也可以使用IF-THEN-ELSIF语句来进行多条件判断。 如果要判断的条件过多,可以使用CASE语句,CASE语句可以仅检查一次条件判断的值,然后判断这个原创 2020-12-20 09:52:50 · 127 阅读 · 1 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.2变量和类型
2.2.2变量和类型 变量是一块用来存储数据的内存区域,定义在PL/SQL块的DECLARE区域,在定义变量时通常需要为变量指定一个数据类型,也可以在定义变量时指定一个初始值。 变量的类型可以是SQL数据类型或者是PL/SQL本身特定的数据类型,在PL/SQL中,可以定义4中类型的变量,如下所示。 标量变量:指能存放单个数值的变量,这是PL/SQL 常用的变量。标量变量的数据类型包含数字、字符、日期、布尔型,比如:BARCHAR2、CHAR、NUMBER、DATE等。 复合变量:指用于存放多个值的变量,必须原创 2020-12-20 09:50:56 · 153 阅读 · 1 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.1PL/SQL块结构
PL/SQL语言仿效了ADA程序设计语言,因此在ADA语言中很多程序结构都适用于PL/SQL语言,而ADA语言仿效了Pascal程序语言,因此PL/SQL的基本特性与Pascal相似,比如赋值、比较运算符及单引号字符串等。 2.2.1PL/SQL块结构 块(Block)是进行PL/SQL程序开发时最基本的单位,所有的PL/SQL程序都是由块组成的,块又可以分为如下两类: 匿名块:没有名称的PL/SQL块,可以内嵌到应用程序中或者在Toad或SQL*PLUS中直接运行块。这种块通常由客户端程序产生,用来调用服原创 2020-12-18 09:07:49 · 275 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.3面向对象开发
2.1.3面向对象开发 面向对象的程序(OOP)设计是近几年软件开发世界非常流行的一种发展趋势,使用面向对象的思想开发应用程序,可以大大缩短建立复杂应用的时间。PL/SQL通过提供对象类型来支持面向对象的设计,对象类型是用户自定义的一种复合类型,他封装类对象的属性及操及操作这些属性数据的过程和函数。 与c++和java中的类相似,对象类型具有类的特征,如封装、抽象、继承及多态的特性。在定义好对象类型之后,可以基于对对象类型来定义对象表,或者将对象类型作为Oracle表列进行保存。 举个例子,学校里的每一个学原创 2020-12-15 11:47:39 · 131 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.2与SQL语言的整合
2.1.2与SQL语言整合 在PL/SQL中不仅可以执行SQL语句,还支持很多增强性的特性,比如在SQL语句中使用变量、使用PL/SQL定义函数等。在PL/SQL语句块中可以使用SQL语句操作数据库,PL/SQL支持所有的SQL数据操作、游标和事务处理指令,支持所有的SQL函数、操作符和伪列,完全支持SQL数据类型。 **注意的地方:**在PL/SQL代码中只能直接使用DML语句,如果在PL/SQL代码中直接使用SQL的DDL语句,Oracle将会提示绑定错误,例如在PL/SQL中执行一个创建表的语法,如以原创 2020-12-15 11:46:55 · 114 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.1结构化程序设计
PL/SQL 002—PL/SQL的基本能概念 2.1 结构化程序设计 3种基本控制结构:顺序结构、分支结构、循环结构 1. 顺序结构 2. 分支结构 3. 循环结构原创 2020-12-14 10:09:53 · 121 阅读 · 0 评论 -
PL/SQL 002---PL/SQL的基本能概念--2.1功能特点--2.1.4模块化应用程序开发
2.1.4模块化应用程序开发 业务逻辑日益复杂时,应该避免编写冗长的PL/SQL代码,通过使用L/SQL提供的块、子程序和包三个程序单元,可以将程序分成多个部分,将复杂的问题划开来,这样就可以更好的解决蜘蛛网式的代码问题。 举个例子,在介绍循环结构时,编写了一段相对有些冗长的代码,因此代码将循环与分支判断写在了循环执行体中,使得阅读起来不够清晰,其实可以利用PL/SQL提供的函数功能将对学生成绩的判断写入函数中,因此为了模块化程序结构,编写了如下代码所示的函数。 在这里插入代码片 在将绩点的判断提取到函数原创 2020-12-18 09:07:18 · 195 阅读 · 1 评论