讲稿东软课程lesson_第1页
讲稿东软课程lesson_第2页
讲稿东软课程lesson_第3页
讲稿东软课程lesson_第4页
讲稿东软课程lesson_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle 9i:Program With PL/SQL Lesson8:创建过程目标通过本课学习,应该掌握如下要点:完成本课程后, 您应当能够:描述过程创建过程形式参数和实际参数之间的区别列举不同参数模式的特性创建带参数的过程调用过程在过程中处理异常删除过程 什么是过程?过程是执行一个动作的子程序的一种类型过程可以作为一个方案对象被存储在数据库中,用于重复执行 创建过程的语法CREATE OR REPLACE PROCEDURE procedure_name(parameter1 mode1 datatype1,parameter2 mode2 datatype2,. . .)IS|ASP

2、L/SQL Block; REPLACE选项指示如果过程存在,它将被删除并且用语句创建的新版本代替PL/SQL 块,既可以用BEGIN开始也可以用局部变量的声明开始,既可以用END结束也可以用ENDprocedure_name 结束开发过程形式参数与实际参数形式参数:在子程序说明的参数列表中声明的变量例:CREATE PROCEDURE raise_sal(p_id NUMBER, p_amount NUMBER).END raise_sal;实际参数:在子程序呼叫的参数列表中引用的变量或表达式例:raise_sal(v_id, 2000) 过程的参数模式创建带参数的过程INOUTIN OUT

3、默认模式必须被指定必须被指定值被传递到子程序返回到呼叫环境传递到子程序;返回到呼叫环境形式参数作为一个常数未初始化的变量初始化的变量实际参数可以是文字、表达式、常数或已初始化的变量必须是一个变量必须是一个变量可以被指定一个默认值不能被指定一个默认值不能被指定一个默认值IN参数:例 CREATE OR REPLACE PROCEDURE raise_salary (p_id IN employees.employee_id%TYPE)ISBEGIN UPDATE employees SET salary = salary * 1.10 WHERE employee_id = p_id;END r

4、aise_salary;/Procedure created OUT参数:例OUT参数:例CREATE OR REPLACE PROCEDURE query_emp (p_id IN employees.employee_id%TYPE, p_name OUT employees.last_name%TYPE, p_salary OUT employees.salary%TYPE, m OUT mission_pct%TYPE)ISBEGIN SELECT last_name, salary, commission_pct INTO p_name, p_salary, m FROM emplo

5、yees WHERE employee_id = p_id;END query_emp;/emp_query.sql Procedure created VARIABLE g_name VARCHAR2(25)VARIABLE g_sal NUMBERVARIABLE m NUMBEREXECUTE query_emp(171,:g_name,:g_sal,: m)PRINT g_name 查看OUT参数装载并运行emp_query.sql脚本文件创建QUERY_EMP过程声明主机变量,执行QUERY_EMP过程,并且打印全局变量G_NAME的值IN OUT参数查看IN OUT参数传递参数的方

6、法位置:实际参数与形式参数排列的顺序相同指定:实际参数联合其相应的形式参数以任意顺序排列组合:实际参数的排列一些用位置,一些用指定 参数的默认值选项传递参数的例子声明子程序select USER from dual;select SYSDATE from dual;从PL/SQL 匿名块中调用过程从另一个过程中调用过程处理异常处理异常不处理异常不处理异常删除过程删除存储在数据库中的过程语法:DROP PROCEDURE procedure_name 例子:DROP PROCEDURE raise_salary; Procedure dropped 子程序的优势容易维护增强数据的安全性与完整性增进性能增进代码清晰性 小结在本课中,我们学习了:过程是执行动作的子程序可以用CREATE PROCEDURE命令创建过程可以编译并且保存过程到数据库中参数用于从主叫环境到过程传递数据有三种参数模式:IN, OUT和IN OUT 小结局部子程序是定义在另一个程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论