pl/SQL编程基础

一、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

 

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

 

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头小霸王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值