pl/SQL编程基础

article/2025/10/6 10:11:55

一、PL/SQL编程基础

1、pl/sql的组成:声明块、执行块、异常处理块

2、编制代码实现1+2+...+100的计算

22eaae5f2ccb4ab28677422768d36799.jpg

 

3、编写求u1+2+...+100的结果并显示的存储过程

f6a66621d36e48ef9eee262ba12831e2.jpg

 

4、编写求1+2+...+n的带参数的存储过程

 697f3e8b566a4452b37846e410483c73.jpg

 

三、函数编程

1、函数的概念

function函数,存储在数据库中的带返回值的命名pl/sql程序块 

3、编写求1+2+...+100的函数

3fca4efa9280484f9af4f010947c349a.jpg

 

 

4、编写求1+2+...+n的函数

e44b95bcbb0c4199a9c75a6ad89b344f.jpg

 

 

四、存储过程与函数的应用

1、编写将指定部门号的所有员工薪水增加指定值的存储过程,并调用此存储过程将30号部门的薪水增加1000

 编写存储过程 sp_AlterSalByDeptno(pSalDelta,pDeptno)

 调用存储过程将30号部门的薪水增加1000元 execute sp_AlterSalByDeptno(1000,30)

 与使用update语句进行对比 

548e142a32a0470096f3aedc13e78418.jpg

 

 

2、编写求指定部门号的所有员工平均薪水的函数,并调用此函数计算30号部门的平均薪水

 编写函数 f_GetAvgSalByDeptno(pDeptno)

 调用函数求出30号部门的平均薪水并显示tempSal:=f_GetAvgSalByDeptno(30)

 与使用select语句进行对比

0216659cad1949bb9dc58c8432726337.jpg

 

 

3、结论

需要频繁重复的数据库操作通常会编制专门的存储过程或函数

 存储过程应用: 先创建存储过程(编写sql语句,将编写的代码编译后保存在数据库中,同时存储了编写的plsql语句和对应的编译后的机器操作指令),再使用存储过程(直接调用机器操作指令)

 sql语句:update emp set sal=sal+1000 where deptno=30;先检查sql是否正确,再转换成机器操作指令,最后执行机器操作

 

对比:

 while deptno in(10,20,30) loop

  execute alterSalBydeptno(delta,target); ---1  每次只需直接执行

  update emp set sal=sal+delta where deptno=target;  ---2  每次执行都要检查、转换、执行

  DeptnoMoveNext();

 end loop

 

可以在此段代码执行前后分别获取当前时间,检查其两种方式所用时间的差别

 

 


http://chatgpt.dhexx.cn/article/Dn1Lr2td.shtml

相关文章

PL-SQL编程

PL/SQL介绍: PL/SQL是ORACLE对标准数据库语言的扩展 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言 PL/SQL 是对 SQL 的扩展 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构 可用于创…

SQL编程学习01

在正式开始学习前,我发现之前安装的MySQL忘记了root密码。 所以在这里补充一下找回root密码的方法:MySQL找回root密码 一、问题与解决: 1、在创建表的时候出现了「1046(ErrorCode:1046.No database select…&#x…

SQL编程和高级查询

一、使用SQL操作表 1、SQL语言简介 2、数据库操纵语言 (1)INSERT命令 INSERT INTO grade VALUES (5,五年级);--插入每一列 INSERT INTO grade VALUES (6,六年级); INSERT INTO grade VALUES (7,七年级); INSERT INTO student(stuNo,stuName,sex) VAL…

数据库系统SQL编程-02

目录 一、查询平均分高于60分的课程(MSSQL) 表结构: 表样例 输出样例: 编译程序: 二、查询成绩最高的前三名同学(MSSQL) 表结构: 表样例 输出样例: 编译程序: 三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL) 表结构: 表样例 …

嵌入式SQL编程快速上手教程

嵌入式SQL编程快速上手教程 声明:我这里标题虽是《嵌入式SQL编程快速上手教程》,但只是嵌入式SQL编程的冰山一角罢了,我会通过举一道简单例题来教小白快速上手嵌入式SQL编程 第一:题目描述 其模式描述分别是: S (s…

数据库系统SQL编程-01

目录 一、查询各专业学生的平均成绩(MSSQL) 表结构: 表样例 输出样例: 编译代码: 二、查询平均成绩最高的前3名同学 表结构: 表样例 输出样例: 编译代码: 三、 查询同专业的学生(MSSQL) 表结构: 表样…

pl/sql编程语言

–pl/sql编程语言 –pl/sql编程语言是对sql语言的扩展,是的sql语言具有过程化编程的特性 –pl/sql编程语言比一般的过程化编程语言,更加灵活高效 –pl/sql编程语言主要用来编写存储过程和存储函数等。 --声明方法,定义变量 --赋值操作可以用 : 也可以使…

SQL编程开发

文章目录 SQL概述SQL分类SQL语言规范 基本查询语句查询全部列查询特定列过滤操作模糊查询排序操作多表查询单行函数组函数group by和having 子查询库和表的操作库的操作表的操作数据类型列的操作 数据处理之增删改事务、约束和分页事务约束分页 安装好MySQL下步就是使用MySQL&a…

SQL编程

10-1 查询学生表所有学生记录 (5 分) 本题目要求编写SQL语句, 检索出stu表中所有学生记录。 提示:请使用SELECT语句作答。 表结构: 定义表结构的SQL语句。如: CREATE TABLE stu(sno char(4) NOT NULL,sname char(8) NOT NULL,sex tinyin…

SQL 编程

SQL Server中存在两种变量局部变量和成员变量,两种变量的特点和其他语言变量特点一样 全局变量:由系统定义和维护由系统定义和维护 变量名前加“” 例 name 就定义了一个全局变量“name” 局部变量:由用户定义和使用,变量…

可编程的SQL是什么样的?

背景 如果你使用传统编程语言,比如Python,那么恭喜你,你可能需要解决大部分你不需要解决的问题,用Python你相当于拿到了零部件,而不是一辆能跑的汽车。你花了大量时间去组装汽车,而不是去操控汽车去抵达自…

SQL编程语言1

1 SQL简介 SQL是一门操作关系型数据库的编程语言 SQL通用语法 SQL语句可以以单行或多行书写,以分号结尾。只有在读取到分号后系统才会默认你已经输入执行语句MySQL数据库的SQL语句不区分大小写,关键字建议使用大写注释 单行注释:-- 注释内…

sql数据库高级编程总结(一)

1、数学函数:操作一个数据,返回一个结果 (1)取上限 ceiling 如果有一个小数就取大于它的一个最小整数 列如9.5 就会取到 10 select code,name,ceiling(price) from car (2)取下限 floor 如果有一个小数就…

SQL基础编程

文章目录 一.SQL的环境搭载单机离线环境在线环境 二.SQL的单表操作1.sql基础三步2.sql四则运算3.limit (限制查询结果个数)4.order by(排序)5.where 综合条件筛选6.SQL常量7.distinct (把结果中重复的行删除)8.函数(1) 聚合函数:sum() ——求…

君正X1000芯片性能和处理器介绍

君正X1000芯片是针对语音识别功能做了专门定制的芯片,可以支持4个MIC,支持远场唤醒,功耗很低,适用于物联网、智能家居、智能音频、智能玩具等产品 。 X1000 芯片功能: 穿戴处理器级低功耗,待机功耗0.2mW&am…

IBM storwize V5000存储基础配置

初始帐号密码 Superuser / passw0rd 设备和系统的基本状态 首先添加配置主机,前提是已经连接好光纤线,配置好光纤交换机 这里我们使用光纤通道 系统应该可以自动识别到端口,主机名可以设置为主机型号或者主机应用名 两个端口完成 配置内部存…

《计算机系统概论》-第5章-习题答案

给定指令ADD、JMP、LEA、NOT,请判断它们分别是操作(或运算)指令,还是数据搬移指令或控制指令?对每一条指令,进一步列出该指令可以采用的寻址模式。 指令类型寻址模式ADD操作立即数、寄存器2种寻址模式JMP控…

X1000之LCD部分的翻译

1.显示大小可达640x48060Hz,24BBP RGB 8 8 8 RGB(256^3) 2的24次方16777216 2.支持的颜色就是我们上面计算的 3. 8080并行接口 MCU接口方式(8080,6800接口)与RGB接口主要的区别 4.支持内部DMA操作和寄存器操作(可以…

uboot - 配置过程1(分析国产君正的ingenic-linux-kernel3.10.14-x1000-v8.2-20181116\u-boot\mkconfig脚本)

分析uboot的配置过程(mkconfig脚本) uboot怎么配置?我们在终端上执行make NAME_config时的运行过程解析! STEP1: %_config:: unconfig$(MKCONFIG) -A $(:_config)我们执行make *_config时会运行makefile的这两行程序&#xff0c…

Opencv 以指定格式保存图片

将图像保存至本地&#xff0c;以指定的格式&#xff0c;需要用到cv::imwrite()函数 函数原型&#xff1a; bool imwrite(const string& filename, InputArray img, const vector<int>& paramsvector<int>() )参数解释&#xff1a;filename:图像保存路径&…