第10章存储过程、函数和触发器精选PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第10章存储过程、函数和触发器精选PPT.ppt》由会员分享,可在线阅读,更多相关《第10章存储过程、函数和触发器精选PPT.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章存储过程、函数和触发器第1页,此课件共40页哦过程和函数概述过程和函数概述匿名的匿名的PL/SQL PL/SQL 块的缺点是,每次执行的时候都要被重新块的缺点是,每次执行的时候都要被重新编译,并且不能被存储在数据库中(因此不能被其他编译,并且不能被存储在数据库中(因此不能被其他PL/SQLPL/SQL块使用)。块使用)。过程与函数是命名的过程与函数是命名的PL/SQLPL/SQL块,被存储在数据库中,并块,被存储在数据库中,并且可以被其他且可以被其他PL/SQLPL/SQL块使用。过程与函数也称为块使用。过程与函数也称为子程序子程序。第2页,此课件共40页哦过程过程(PROCEDUER
2、):(PROCEDUER):是模块化程序设计的基本概念,它是模块化程序设计的基本概念,它将一些相关的将一些相关的SQLSQL语句,流程控制语句组合在一起,用语句,流程控制语句组合在一起,用于于执行某些特定的操作或者任务执行某些特定的操作或者任务。函数函数(FUNCTION):(FUNCTION):用于用于计算和返回计算和返回特定的数据,可以将特定的数据,可以将经常需要进行的计算写成函数。经常需要进行的计算写成函数。第3页,此课件共40页哦图:过程和函数的PL/SQL块结构第4页,此课件共40页哦10.1 创建过程创建过程CREATE OR REPLACE PROCEDURE CREATE OR
3、 REPLACE PROCEDURE schema.procedure_nameschema.procedure_namearg1 IN|OUT|IN OUT arg_type1,arg1 IN|OUT|IN OUT arg_type1,arg2 IN|OUT|IN OUT arg_type2,arg2 IN|OUT|IN OUT arg_type2,IS|ASIS|AS声明部分声明部分BEGINBEGIN执行部分执行部分EXCEPTIONEXCEPTION异常处理部分异常处理部分END END procedure_name;procedure_name;第5页,此课件共40页哦其中其中:OR
4、 RELACEOR RELACE是可选的。如果省略,则创建时不允许数是可选的。如果省略,则创建时不允许数据库中有同名的过程;如果使用,则会先删除同名的过据库中有同名的过程;如果使用,则会先删除同名的过程,然后创建新的过程。程,然后创建新的过程。Arg1,arg2,argnArg1,arg2,argn是过程的形参的名称,是可选的。是过程的形参的名称,是可选的。arg_type1arg_type1,arg_type2 arg_type2,,arg_typen,arg_typen是对应的型参的数是对应的型参的数据类型。据类型。注意:此处的数据类型后面不能带参数,即注意:此处的数据类型后面不能带参数,
5、即精度、范围等,如精度、范围等,如NUMBERNUMBER(1212,2 2)只能写成)只能写成NUMBERNUMBER。IN|OUT|IN OUTIN|OUT|IN OUT是形参的模式。如果省略则为是形参的模式。如果省略则为ININ模式。模式。第6页,此课件共40页哦ININ用于接受调用程序的值用于接受调用程序的值默认的参数模式默认的参数模式OUTOUT用于向调用程序返回值用于向调用程序返回值 IN OUTIN OUT用于接受调用程序的值,并向调用程序返回更新的值用于接受调用程序的值,并向调用程序返回更新的值第7页,此课件共40页哦例:例:不带参数的简单存储过程不带参数的简单存储过程CREA
6、TE OR REPLACE PROCEDURE p ISCREATE OR REPLACE PROCEDURE p ISCREATE OR REPLACE PROCEDURE p ISCREATE OR REPLACE PROCEDURE p IS cursor c is cursor c is cursor c is cursor c is select*from emp where comm is null and sal2000 for select*from emp where comm is null and sal2000 for select*from emp where com
7、m is null and sal2000 for select*from emp where comm is null and salv_b)then v_ret:=v_a;else v_ret:=v_b;end if;v_temp:=v_temp+1;end;第11页,此课件共40页哦主程序:主程序:declaredeclare v_a number;v_a number;v_b number;v_b number;v_ret number;v_ret number;v_temp number:=5;v_temp number:=5;beginbegin p1(&v_ap1(&v_a的值的
8、值,&v_b,&v_b的值的值,v_ret,v_temp);,v_ret,v_temp);dbms_output.put_line(v_ret);dbms_output.put_line(v_ret);dbms_output.put_line(v_temp);dbms_output.put_line(v_temp);end;end;第12页,此课件共40页哦练一练练一练编写一个存储过程,可以根据用户输入的姓名返回编写一个存储过程,可以根据用户输入的姓名返回其所在的部门名称以及所在地,使用参数传递。其所在的部门名称以及所在地,使用参数传递。在匿名块中调用该过程。在匿名块中调用该过程。第13页,此
9、课件共40页哦删除过程删除过程语法语法DROP PROCEDURE procedure_name;DROP PROCEDURE procedure_name;其中,其中,procedure_name procedure_name 是过程的名称。是过程的名称。示例示例Drop procedure find_emp;Drop procedure find_emp;第14页,此课件共40页哦10.2 创建函数创建函数函数是一种数据库对象函数是一种数据库对象,同样也是一个命名的同样也是一个命名的PL/SQLPL/SQL程序程序块块,被存储在数据库中被存储在数据库中,可以被反复的使用可以被反复的使用.函
10、数用来执行复杂的计算,并返回计算的结果。函数用来执行复杂的计算,并返回计算的结果。在调用的时候在调用的时候,可以被作为表达式的一部分。必须要有返可以被作为表达式的一部分。必须要有返回值。回值。这个返回值既可以是这个返回值既可以是numbernumber或或varchar2varchar2这样简单的数这样简单的数据类型,也可以是据类型,也可以是PL/SQLPL/SQL数组或对象这样复杂的数据类型。数组或对象这样复杂的数据类型。第15页,此课件共40页哦CREATE OR REPLACE CREATE OR REPLACE FUNCTION function nameFUNCTION functi
11、on namearg1 IN|OUT|IN OUT arg_type1,arg1 IN|OUT|IN OUT arg_type1,arg2 IN|OUT|IN OUT arg_type2,arg2 IN|OUT|IN OUT arg_type2,RETURN return_typeRETURN return_typeIS|ASIS|AS声明部分声明部分BEGINBEGIN执行部分执行部分EXCEPTIONEXCEPTION异常处理部分异常处理部分END function name;END function name;其中:其中:RETURNRETURN子句说明函数返回值的数据类型子句说明函数返
12、回值的数据类型。这是与过程。这是与过程的区别之一。的区别之一。第16页,此课件共40页哦例:例:create or replace function create or replace function sal_tax(v_sal number)sal_tax(v_sal number)return number return number is isbeginbegin if v_sal2000 then if v_sal2000 then return 0.10;return 0.10;elsif v_sal2750 then elsif v_salOLD.sal)WHEN(NEW.sal
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 存储 过程 函数 触发器 精选 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内