大型数据库PL/SQL高级编程
来源:互联网 发布:js调用手写输入法 编辑:程序博客网 时间:2024/06/05 00:28
PL/SQL高级编程实验目的:1、掌握PL/SQL的数据结构和编程结构,掌握应用PL/SQL编写简单程序的方法2、理解存储过程的概念,掌握编写存储过程的方法3、理解函数的概念,掌握编写存储过程的方法实验内容:一、PL/SQL编程基础1、pl/sql的组成:声明块、执行块、异常处理块2、编制代码实现1+2+...+100的计算declaren int;result int;beginn:=0;result:=0;while n<=100 loopresult:=result+n;n:=n+1;end loop;dbms_output.put_line('结果是'||result);end;二、存储过程编程1、存储过程的概念procedure 存储过程,存储在数据库中的不带返回值的命名PL/sql程序块,(可以反复使用复杂操作,并提高执行效率)2、存储过程的语法create or replace procedure procedureName(parm parmType) aslocal varible definationbeginprocedure body;end;3、编写求u1+2+...+100的结果并显示的存储过程create or replace procedure sp_calcSum asbegin...end;4、编写求1+2+...+n的带参数的存储过程create or replace procedure sp_calcSum(pEndNumber int) asbegin...end;三、函数编程1、函数的概念function函数,存储在数据库中的带返回值的命名pl/sql程序块2、函数的语法create or replace function functionName(parm parmType) return resultTypeaslocal varible definationbeginfunction bodyreturn result;end;3、编写求1+2+...+100的函数create or replace function f_calcSum() return intasbegin...return result;end;
4、编写求1+2+...+n的函数create or replace function f_calcSum(pEndNumber int) return intasbegin....return result;end;四、存储过程与函数的应用1、编写将指定部门号的所有员工薪水增加指定值的存储过程,并调用此存储过程将30号部门的薪水增加1000编写存储过程 sp_AlterSalByDeptno(pSalDelta,pDeptno)调用存储过程将30号部门的薪水增加1000元execute sp_AlterSalByDeptno(1000,30)与使用update语句进行对比2、编写求指定部门号的所有员工平均薪水的函数,并调用此函数计算30号部门的平均薪水编写函数 f_GetAvgSalByDeptno(pDeptno)调用函数求出30号部门的平均薪水并显示tempSal:=f_GetAvgSalByDeptno(30)与使用select语句进行对比3、结论需要频繁重复的数据库操作通常会编制专门的存储过程或函数存储过程应用:先创建存储过程(编写sql语句,将编写的代码编译后保存在数据库中,同时存储了编写的plsql语句和对应的编译后的机器操作指令),再使用存储过程(直接调用机器操作指令)sql语句:update emp set sal=sal+1000 where deptno=30;先检查sql是否正确,再转换成机器操作指令,最后执行机器操作对比:while deptno in(10,20,30) loopexecute alterSalBydeptno(delta,target); ---1 每次只需直接执行update emp set sal=sal+delta where deptno=target; ---2 每次执行都要检查、转换、执行DeptnoMoveNext();end loop可以在此段代码执行前后分别获取当前时间,检查其两种方式所用时间的差别
阅读全文
0 0
- 大型数据库PL/SQL高级编程
- PL/SQL高级编程
- PL/SQL高级编程
- Oracle PL/SQL 高级编程
- PL/SQL数据库编程(上)
- pl sql 数据库编程 笔记
- Oracel数据库PL/SQL编程
- PL/SQL编程(高级特性)
- Oracle数据库编程:PL/SQL编程基础
- Oracle数据库编程:PL/SQL程序控制结构
- 数据库管理与PL/SQL编程
- pl/sql高级应用
- 高级PL/SQL的使用;
- PL/SQL的高级查询
- PL/SQL 异常高级概念
- PL/SQL 高级语言查询
- 数据库编程实战:Oracle PL/SQL入门之案例实践
- Oracle数据库编程:开发PL/SQL子程序和包
- ORA-02290: 违反检查约束条件 (MES_V1.SYS_C0027075)原因以及解决方法
- 面面向对象(上) 封装,继承,对象初始化流程,单例设计模式向对象(上) 封装,继承,对象初始化流程,单例设计模式
- BIO与NIO、AIO的区别
- 开关电源上的光耦的故障检修
- scrollWidth,clientWidth,offsetWidth的区别 通过一个demo测试这三个属性的差别。 说明: scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象
- 大型数据库PL/SQL高级编程
- Python学习笔记(一)
- rabbitMQ--RabbitMQ中 exchange、route、queue的关系
- mp4-esds box分析
- 文件上传与下载(Commons-fileupload)
- 欢迎使用CSDN-markdown编辑器
- 光电耦合器的隔离作用是什么?
- VGA GPU passthrough 虚拟桌面pci穿透--Ubuntu与centos的内核升级步骤
- MOOC清华《程序设计基础》第3章:谁是嫌疑犯(普通循环枚举)