1 / 66
文档名称:

大连理工 oracle ppt教程.ppt

格式:ppt   大小:219KB   页数:66页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

大连理工 oracle ppt教程.ppt

上传人:jiaoyuan2014 2021/7/11 文件大小:219 KB

下载得到文件列表

大连理工 oracle ppt教程.ppt

相关文档

文档介绍

文档介绍:高级PL/SQL -过程、函数、程序包及触发器
简介
用户可以命名自己编写的程序块,并将其存储起来,以便以后使用。这些命名的PL/SQL程序块称为存储过程和函数,他们的集合称为程序包。
过程与函数
过程 从本质上来看,过程就是命名的PL/SQL程序块,它可以被赋予参数并存储在数据库中,然后由另外一个应用或PL/SQL例程调用。
函数 函数与过程非常类似,也是数据库中存储的命名PL/SQL程序块。创建函数与创建过程要都遵循同样的规则。函数与过程的安全方式和参数传递也相同。函数的主要特征是它必须返回一个值。这个返回值既可以是number或varchar2这样简单的数据类型,也可以是PL/SQL数组或对象这样复杂的数据类型。
过程
基本语法
创建
删除
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN|OUT|IN OUT] type [,...])]
{IS|AS}
[variable type [,...]]
BEGIN
procedure_body
END procedure_name;
DROP PROCEDURE procedure_name;
函数
基本语法
创建
删除
CREATE [OR REPLACE] FUNCTION function_name
[(parameter_name [IN|OUT|IN OUT] type [,...])]
RETURN type
{IS|AS}
[variable type [,...]]
BEGIN
function_body
END function_name;
DROP FUNCTION function_name;
过程和函数
调用过程 可以使用EXECUTE指令调用过程,也可以在PL/SQL代码块中直接调用过程。
调用函数 函数不能直接调用,只能作为表达式的一部分进行调用(PL/SQL中,函数总是要返回一个值,调用者必须接受这个值,否则就会出现错误)
在不带参数时,声明和调用过程或函数都不需要使用圆括弧
过程和函数
过程和函数可以统称为子程序,它们对参数的使用方式是一致的。
子程序的形式参数可有3种模式:
模式
说明
IN
默认模式,在过程内部,形参就像常量一样:只读,不可修改,
OUT
调用过程时,实参的值被忽略,在过程内部,形参就像未初始化的变量一样,会有一个NULL值,可读可写,过程执行完毕后,形参的值被赋给实参
IN OUT
IN 和OUT的复合模式
过程和函数
关于参数的进一步说明
与OUT或IN OUT模式的形参相关联的实参必须是一个变量,不能是字面值或常量。必须有一个可以存储返回值的位置
PL/SQL编译器会在编译时检查IN模式的形参是否被修改过,如果发生修改,则产生编译警告。
作为参数传递机制的一部分,调用子程序时也会传递变量上的约束。因此,在子程序声明中,约束CHAR和VARCHAR2类型参数的长度或NUMBER类型参数的长度或精度都是不合法的,因为约束是从实际参数中带来的。
过程和函数
关于参数的进一步说明
可以使用%TYPE对形参进行一定的约束。如果形参是使用%TYPE声明的,而且底层的类型是受到约束的,那么这种约束就会作用到形参上,而不是作用到实参上。
可以分别使用或混合使用位置表示法和名称表示法 名称表示法示例:
BEGIN
print_dept(did=>10);
END;
/
过程和函数
过程和函数的比较
相同的功能特性
都可以使用OUT参数返回多个值
都可以由声明、执行和异常处理三个部分组成
都可以接受默认值
都可以使用位置表示法和名称表示法进行调用
何时使用过程,何时使用函数? 一般的原则是:如果返回多个值,使用过程。如果只有一个返回值,就使用函数。