构建程序包
Posted donghongbo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建程序包相关的知识,希望对你有一定的参考价值。
--构建程序包 create or replace package stuinfo as type stucur is ref cursor; procedure showname(scla in number,stus out stucur); end stuinfo; --构建程序包体 create or replace package body stuinfo as procedure showname(scla in number,stus out stucur) as begin open stus for select * from student s where s.class = scla; end; end stuinfo; select * from student;
隐式游标
DECLARE BEGIN /* insert update delete select(返回单行的查询) */ UPDATE STUDENT S SET S.SBIRTHDAY = S.SBIRTHDAY + 3650 WHERE s.class=95031; IF SQL%FOUND THEN DBMS_OUTPUT.PUT_LINE(‘数据更新成功 !‘); DBMS_OUTPUT.PUT_LINE(sql%ROWCOUNT); COMMIT; ELSE DBMS_OUTPUT.PUT_LINE(‘更新失败 !‘); END IF; END;
调用程序包执行存储过程
-- 调用程序包执行存储过程 declare type stuc is ref cursor; --stuc引用游标 sts stuc;--声明stuc类型的变量 stu student%rowtype; --每一行查询 begin stuinfo.showname(95033,sts); loop fetch sts into stu; exit when sts%notfound; dbms_output.put_line(stu.sname); end loop; end;
以上是关于构建程序包的主要内容,如果未能解决你的问题,请参考以下文章