018.PL-SQL编程—包

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线
在这里插入图片描述

PL-SQL编程—包

  • 创建包

    • 包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成

    • 可以使用create package命令来创建包

    • 实例

      -- 创建一个包sp_package
      create or replace package sp_package is
          -- 声明该包有一个过程update_sal
          procedure update_sal(name varchar2,newsal number);
          -- 声明该包有一个函数annual_income
          function annual_income(name varchar2) return number;
      end;
      
      • 在这里插入图片描述

      • 在这里插入图片描述

    • 此时只是有包规范,并没有包体。也就是该包里面声明的过程和函数都没有具体的执行代码

    • 包规范:只包含了过程和函数的说明,但是没有过程和函数的实现代码

    • 包体:用于实现包规范中的过程和函数

    • 创建包体可以使用create package body命令

    • 创建包体实例

      -- 给包sp_package实现包体
      create or replace package body sp_package is
        procedure update_sal(name varchar2,newsal number) is
          begin
            update emp set sal=newsal where ename=name;
          end;
        function annual_income(name varchar2) return number is annual_salary number;
          begin
            select (sal+nvl(comm,0))*12 into annual_salary from emp where ename=name;
            return annual_salary;
          end;
      end;
      
      • 在这里插入图片描述
  • 调用包里面的过程和函数

    • 调用包的过程或函数时,再过程和函数名前需要带包名,如果要访问其他方案的包,则在包名前加方案名
    • 如:
       call sp_package.update_sal('SCOTT',1500);exec sp_package.update_sal('SCOTT',1500);
      
      • 在这里插入图片描述

      • 在这里插入图片描述

  • 特别说明

    • 包是PL/SQL中非常重要的部分,我们在使用过程分页时,将会体验到包的威力!
  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值