5.Oracle存储过程.doc
文本预览下载声明
实验五 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
显示全部