当前位置:
文档之家› 跟我学Oracle从入门到精通培训教程——PLSQL中的存储过程及应用
跟我学Oracle从入门到精通培训教程——PLSQL中的存储过程及应用
(2)在命令窗口中通 过查询目标数据库表中 的数据验证该存储过程 的执行结果 select * from someOneTable;
4、在PL/SQL代码块中调用带默认输入参数的存储过程示例 (1)在SQL窗口中输入下面的PL/SQL代码块以调用该存储 过程
注意此时不需要再使用“execute”命令字执行该存储 过程,而是直接采用存储过程的名称(Oracle中的存储过 程是作为一个独立执行语句而被调用的)。 (2)验证该存储过程的执行结果是否正确
(3)在PLSQL Developer中创建存储过程procedureDemo (4)本示例的存储过程的代码示例 (5)编译该存储过程 (6)在PLSQL Developer工具中执行存储过程块 (7)在SQL窗口中验证存储过程的执行结果
二、创建带输入参数的存储过程
1、创建带输入参数的存储过程
2、编程该存储过程体代码
三、创建带输入输出参数的存储过程
1、创建带输入输出参数的存储过程
注意对于带in out类型的参数不能定义默认值,否则 会出现下面的错误。
2、编程该存储过程
3、编译该存储过程
4、执行带输入输出参数的存储过程 (1)在PL/SQL代码块中调用该存储过程
(2)在控 制台中的输 出的结果
(3)通过查询目标数据库表以验证该存储过程的执行结果
3、编译该存储过程
4、采用默认参数值方式执行带默认输入参数的存储过程例 (1)新建一个命令窗口并采用默认参数值方式执行该存储 过程
(2)在命令窗口中通过查询目标数据库表中的数据验证 该存储过程的执行结果
3、以指定的参数值方式执行带默认输入参数的存储过程 示例 (1)在调用存储过程时间给定具体的参数值
3、创建存储过程的 语法 (1)定义存储过程 的语法 (2)应用要点 其中的“Create or replace procedure”是一个 SQL语句,它通知Oracle数据库去创建一个名称为 procedure_name的存储过程,如果已经存在该存 储过程就覆盖它; 而Is或者As关键词表明后面将跟随一个PL/SQL体, 在该PL/SQL体中同样需要应用BEGIN关键词定义 PL/SQL 体的开始,而应用END关键词定义 PL/SQL 体的结束。 如果在存储过程中需要变量,则这些变量的定义 应该要放在BEGIN关键词之前。
(2)在控制台中的 输出结果
( 3 )通过查询目标数据库表以验证该存储过程的执行结 果
五、在OEM中创建存储过程
1、登录OEM(http://teacher:1158/em/)
2 、选中在“管理”标签页中的“程序”栏中的“过程” 链接
3、点击“创建”链接,并输入存储过程的名称和存储过程 的代码
四、创建只带输出参数的存储过程
1、创建只带输出参数的存储过程
注意对于带out类型的参数不能定义默认值,否则会 出现下面的错误。
2、编程该存储过程 注意存储过程中的内部参数不能与形参同名,否则会 出现下面的错误。
3、编译该存储 过程
4、执行只带输出参数的存储过程 (1)在PL/SQL代码块中调用该存储过程
(3)INOUT代表输入输出参数 这种模式是IN和OUT类型的参数的组合(在过程中即 可传入值,也可传出值); 在Oracle过程内部实际参数的值会传递给形式参数, 形式参数的值可读也可写 过程结束后,形式参数的值将赋予实际参数。 5、在PLSQL Developer中创建存储过程的应用示例 (1)问题的要求 假设有一张名称为someOneTable的数据库表,其中 包括有someOneField和someTwoField两个字段, someOneField为number类型,someTwoFieldf为 varchar2类型。 现在期望通过存储过程实现向someOneTable数据库 表中插入两条记录,数据值及内容自定。 (2)创建数据库表someOneTable
PLSQL中的存储过程及应用
PLSQL中的存储过程及应用
在本单元重点了解如下知识点
存储过程相关的基础知识 带输入参数的存储过程 带输入输出参数的存储过程 只带输出参数的存储过程 在OEM中创建存储过程
一、存储过程相关的基础知识
1、PL/SQL中的过程和函数 (1)过程和函数都是PL/SQL语句的集合 PL/SQL中的过程和函数与其他语言的过程和函数一样, 都是为了执行一定的任务而组合在一起的PL/SQL语句的集 合。
4、了解三种不同形式的存储过程参数之间的差别 参数可以为任何合法的PL/SQL类型,并且参数的模式 有如下的三种形式:IN,OUT,INOUT。 (1)IN代表输入参数 表示在调用过程的时候,实际参数的取值被传递给 该过程,形式参数被认为是只读的(不能改变) 当存储过程结束时,控制会返回控制环境,实际参 数的值不会改变。 (2)OUT代表输出参数 在过程内部形式参数只能被赋值,而不能读取形式 参数数据,在过程结束后形式参数的内容将被赋予 实际参数(由过程赋值并传递给调用环境) OUT参数不能是具有默认值的变量,也不能是常量, 并且在存储过程中要给OUT参数传递返回值。
(2)过程和函数在应用方面是有差别的 存储过程其实就是命了名的PL/SQL逻辑块,可以有 零个或多个参数作为输入(INPUT)或输出 (OUTPUT)或既作输入又作输出(INOUT)。 没有返回值,以编译后的形式存放在数据库中,然 后由开发语言调用或者其它的PL/SQL逻辑块调用。
(3)与存储过程不同,函数必须要有返回值 存储过程不能在普通的SQL语句L程序块内部被调用。 2、应用存储过程与函数的主要优点 (1)可重用性 一旦命名并保存在数据库中以后,任何应用都可以调 用。 (2)抽象和数据隐藏 用户只需知道存储过程与函数对外提供的功能,而无 需知道其内部实现。 (3)安全性 通过存储过程与函数提供数据对象的操作权限,而不 必给出存储过程与函数涉及到每个对象的权限,提高了安 全性。