构建程序包

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;

 

以上是关于构建程序包的主要内容,如果未能解决你的问题,请参考以下文章

构建应用程序架构(活动和片段)的最佳方式是啥

在PaddlePaddle中的Notebook代码片段

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

paper 78:sniff抓包程序片段

自动刷新android片段,直到满足条件

Android App 在片段中创建 ListView 引用时关闭