- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
培训机构的Oracle学习笔记5
数据库查询的结果本质上是一个游标
所以在调用一个查询功能,得到的其实是一个游标,然后从游标中将结果loop出来.
将游标看成数据库对其他应用程序提供数据的接口。
游标返回所有学生信息-和欢迎消息-使用sql/plus调用存储过程显示所有游标数据-in out模式的使用
注意: 函数的返回值类型问题,参数的模式 in、 out 、in out
----返回所有学生信息
function querystu return rec
is
rrc rec;
begin
open rrc for select * from stu;
return rrc;
end;
调用
declare
type re is ref cursor;
rre re;
rs stu%rowtype;
begin
rre:=p_stumanger.querystu;
loop
fetch rre into rs;
exit when rre%notfound;
dbms_output.put_line(rs.sid||rs.stno||rs.sname||rs.sage||rs.sqq);
end loop;
end;
--------------------------------------------------------------------------
--根据条件查询,返回所有学生信息和欢迎消息的函数
procedure querystu(s_sex stu.ssex%type,msg out varchar2 ,re out rec)
is
begin
open re for select * from stu;
msg:=欢迎您查询本系统;
end;
调用
declare
s_sex stu.ssex%type;
msg varchar2(100);
type r is ref cursor;
rr r;
s stu%rowtype;
begin
p_stumanger.querystu(s_sex=s_sex,msg = msg,re = rr);
loop
fetch rr into s;
exit when rr%notfound;
dbms_output.put_line(s.sid);
end loop;
end;
user_objects数据字典,查询所有的对象
select * from user_objects;
select * from user_objects where OBJECT_TYPE=FUNCTION;
使用sql/plus调用存储过程显示所有游标数据,注意,和pl/sql程序块区分开
定义包
定义过程,过程可定义游标类型的参数 out模式
sqlvar r refcursor;
sqlset autoprint on;
sqlexec 包名.过程名(:r);
注意:in out模式的使用,此例ena参数既可以接收值,又可以带出去一个同类型的值
create or replace package body pemp
is
procedure query(ena in out emp.ename%type)
is
re emp%rowtype;
begin
select * into re from emp where ename=ena;
ena:=你好;
end;
end;
调用
declare
en emp.ename%type;
begin
en:=SMITH;
pemp.query(ena=en);1、en将值传给ena 2、过程执行完毕,由ena再将值带出来传给en
dbms_output.put_line(en);
end;
学生管理系统-包头-包体-6个功能函数或过程
模块一:学生基本信息管理模块包,此模块包包含6个功能函数或过程,分别如下说明
包头
create or replace package p_stumanger
is
--type t_stu is table of stu%ro
文档评论(0)