Oracle- 包

  在一个大型项目中,可能有很多模块,而每个模块又有自己的过程、函数等。而这些过程、函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起的,即Procedures中),这些非常不方便查询和维护。通过使用包就可以分类管理过程和函数。而且在包中还可以自定义自定义类型,从而在过程和函数中可以直接使用自定义变量。Oracle中包的概念与JAVA中包的概念非常类似,只是JAVA中的包是为了分类管理类,但是关键字都是package。
  包分两部分,包规范和包体。

  1、包头(包规范)

复制代码
create or replace package P_TEST is

  -- Author  : 春晓
  -- Created : 2015-01-08 15:25:17
  -- Purpose : 学习、测试包

  procedure pro_student_update(pname varchar, page number);
  procedure pro_student_add(pname varchar, page number);
  procedure pro_student_delete(pname varchar);

end P_TEST;
复制代码

  2、包体

复制代码
create or replace package body P_TEST

 as

  --对学生表的操作 更新
  procedure pro_student_update(pname varchar, page number) as
  begin
    update t_student set age = page where sname = pname;
  end;

  --对学生表的操作 新增
  procedure pro_student_add(pname varchar, page number) as
  begin
    insert into t_student
    values
      (pname, page, to_date('1990-09-09', 'yyyy-MM-dd'));
  end;

  --对学生表的操作 删除
  procedure pro_student_delete(pname varchar) as
  begin
    delete t_student where sname = pname;
  end;

end P_TEST;
复制代码

  调作示例:

  call p_test.pro_student_add('kk',12);
  call p_test.pro_student_update('kk',22);
  call p_test.pro_student_delete('kk');

posted @   春天又来了  阅读(228)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示