文档详情

5.Oracle存储过程.doc

发布:2015-09-27约字共7页下载文档
文本预览下载声明
实验五 Oracle存储过程 一、实验目的 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程分为两类: 1.系统提供的存储过程;2.用户自定义存储过程。 存储过程的优点: 1.存储过程允许标准组件式编程; 2.存储过程能够实现较快的执行速度; 3.存储过程能够减少网络流量; 4.存储过程可被作为一种安全机制来充分利用。 二、实验内容 1.掌握创建的方法和步骤。掌握方法。CREATE OR REPLACE PROCEDURE FirstPROC IS BEGIN DBMS_OUTPUT.PUT_LINE(Oracle你好! 我是吴思远,这是我的第一个存储过程。); END; 然后点击(Run Script)按钮,运行脚本。如图5-1所示。 图5-1 在Connections栏里面,选中Procedures击右键,点击Refresh刷新,如图5-2所示: 图5-2 这时,可以看到我们刚刚建立的存储过程FIRSTPROC,如图5-3所示: 图5-3 选中FIRSTPROC击右键,可以进行编辑、运行、编译、授权、回收权限、删除等等操作,如图5-4所示: 图5-4 (2)Sqlplus中调用存储过程: 在开始-运行,输入cmd,如图5-5所示: 图5-5 在命令行输入sqlplus 用户名/密码@orcl(用户名是学号密码为111),如图5-6所示set serveroutput on;把打印缓冲区打开,使得dbms_output.put_line输出的文字可以显示在屏幕上。 Sqlplus中执行execute 存储过程名字;调用前面建立的FIRSTPROC,如execute FIRSTPROC;结果如图5-7所示: 图5-7 2.使用带参数的存储过程。 create or replace procedure withpara ( fname in varchar2,ret out varchar2 ) as begin select LAST_NAME into ret from EMPLOYEES where EMPLOYEES.FIRST_NAME=fname; DBMS_OUTPUT.PUT_LINE(ret); EXCEPTION WHEN NO_DATA_FOUND THEN ret:=查无此人。; DBMS_OUTPUT.PUT_LINE(ret); end; 然后点击(Run Script)按钮,运行脚本。如图5-10所示。 图5-10 (2)Sqlplus中调用存储过程: 在Sqlplus中执行set serveroutput on;把打印缓冲区打开,使得dbms_output.put_line输出的文字可以显示在屏幕上。 在Sqlplus中执行var output_var varchar2(20);定义一个输出变量inputvar。 Sqlplus中执行execute 存储过程名字(参数); 输入在employees表中不存在的First name,调用前面建立的存储过程Withpara,如execute withpara(NO,:output_var);结果如图5-11所示: 图5-11 输入在employees表中有的First name,如Lex,Sigal等,可以查询到对应的Last name,如图5-12所示: 图5-12 7
显示全部
相似文档