欢迎来到天天文库
浏览记录
ID:44942581
大小:470.50 KB
页数:26页
时间:2019-11-05
《第07章 理论 》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PL/SQL子程序和包课程安排Oracle数据库基础概念PL/SQL编程基础PL/SQL程序控制结构在PL/SQL中更改数据和管理事务在PL/SQL中使用游标获取数据动态SQL开发PL/SQL子程序和包使用PL/SQL开发触发器JAVA操作数据库总复习回顾动态SQL语句原因原理绑定变量动态SQL本章大纲子程序存储过程函数存储过程VS函数包块块匿名块在PL/SQL中,最小的执行单位就是块。理解:所有代码都写在begin..end中来执行命名块优点:重用块代码,简化开发和维护,并提高系统性能命名块分类存储过程:能够完成一系列增删改查动作的PL/SQL块函数:只能计算的PL/SQL块
2、,不能修改数据触发器:某表上发生增删改事件时所自动执行的块包、包体:管理存储过程和函数,类似容器的作用。子程序子程序分类过程:又叫存储过程,StoredProcedure,简称:sp。函数:function触发器:trigger子程序优点模块化:一个过程完成一个模块(如计算税后工资)可重用性:一次编写,反复调用易维护:谁出错,修改谁更高效:每个方法只编译一次;运行多次,但只在内存中加载一次。易调试:可以利用工具单步调试(匿名块不能),实用。存储过程创建存储过程与块的关系存储过程头定义+块=存储过程调用存储过程call存储过程(变量):JDBC中调用sp标准方式exec存储过程(
3、变量):PL/SQL中调用,支持控制台输出createorreplaceprocedure存储过程名(参数名1in/out/inout数据类型1,参数名2in/out/inout数据类型2)--------------------------------------------is或asbegin代码;end;存储过程:表示存储在服务器中执行的过程。存储过程案例删除指定名称表格特点:无参数存储过程添加员工和部门(给出部门名,工号,姓名,工作日期)特点:输入参数添加指定员工,并返回员工总数特点:输入参数,输出参数根据员工号更新员工姓名(最大10位),并返回新姓名特点:输入输出参数
4、输入参数存储过程无参数存储过程输出参数存储过程输入输出参数存储过程存储过程传递参数根据位置传递根据参数定义的顺序调用根据名称传递根据参数的名称调用,顺序可与定义时不同混合传递同时使用位置和名称传递。演示案例:添加部门信息,部门名称重复时要给出提示,然后通过三种方式调用。调用存储过程的三种方式存储过程存储过程的管理查看过程的源代码删除过程管理存储过程selecttextfromuser_sourcewherelower(name)='add_dept';SQL>dropprocedureadd_dept;函数为什么要函数专门完成复杂的业务运算功能,并返回运算结果。语法create
5、orreplacefunction函数名(参数名1in/out/inout数据类型1,参数名2in/out/inout数据类型2)return返回类型--------------------------------------------is或asbegin代码;return值;end;函数子程序函数:能够完成计算并返回计算结果,注意不能修改数据。示例:计算一个数的两倍后并返回。createorreplacefunctionf_add(anumber)returnnumberasbeginreturna*2;end;调用:selectf_add(2)fromdual;selec
6、tf_add(deptno)fromdept;函数演示案例一:计算两个数的和案例二:查询指定部门人数思考:如何让程序变得更强壮?回答:使用异常,没有指定部门时可返回-1(同学自行完成)。案例三:演示在函数中执行insert语句。计算两数之和计算部门人数函数在函数中执行Insert函数函数的管理查看函数的源代码删除函数管理存储过程selecttextfromuser_sourcewherelower(name)='add_number';SQL>dropfunctionadd_number;函数函数的用途直接用于计算表达式的值通常直接用于各种DML语句函数的限制在函数中不能修改数
7、据。存储过程VS函数相同点都有输入、输出、输入输出参数都可以通过输出参数传递信息给外部不同点函数必须有返回值函数不能修改数据用途存储过程:主要用数据修改和业务处理函数:只能用于数据计算子程序的调试演示:开发自定义函数f_add(aNUMBER,bNUMBER)调试。要点:调试是开发复杂业务简单而有效的方法。优秀是一种习惯,调试也是。注意点:输入参数不能修改值,而输出参数或输入输出参数才行。在PL/SQL中进行调试本章大纲子程序包包的概述建立包重载子程序私有项与公有项使用游标包概述为什么要用包
此文档下载收益归作者所有