二十三、oracle pl/sql分类三 包
包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。 1)、我们可以使用create package命令来创建包,如: i、创建一个包sp_package ii、声明该包有一个过程update_sal iii、声明该包有一个函数annual_income --声明该包有一个存储过程和一个函数 create package sp_package is procedure update_sal(name varchar2, newsal number); function annual_income(name varchar2) return number; end; 2)、建立包体可以使用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; COMMIT; END; --函数 FUNCTION ANNUAL_INCOME(NAME VARCHAR2) RETURN NUMBER IS ANNUAL_SALARY NUMBER; BEGIN SELECT SAL * 12 + NVL(COMM, 0) INTO ANNUAL_SALARY FROM EMP WHERE ENAME = NAME; RETURN ANNUAL_SALARY; END; END; / 复制代码 3)、如何调用包的过程或是函数 当调用包的过程或是函数时,在过程和函数前需要带有包名,如果要访问其它方案的包,还需要在包名前加方案名。如: --调用存储过程 SQL> exec sp_package.update_sal('SCOTT', 8888); --调用函数 var income NUMBER; CALL sp_package.ANNUAL_INCOME('SCOTT') INTO:income; print income; 特别说明:包是pl/sql 中非常重要的部分,我们在使用过程分页时,将会再次体验它的威力呵呵。 触发器 触发器是指隐含的执行的存储过程。当定义触发器时,必须要指定触发的事件和触发的操作,常用的触发事件insert,update,delete 语句,而触发操作实际就是一个pl/sql 块。可以使用create trigger 来建立触发器。 特别说明:我们会在后面详细为大家介绍触发器的使用,因为触发器是非常有用的,可维护数据库的安全和一致性。 分类: oracle初级系列教程
分类:
03 Oracle01 初级
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· Apifox不支持离线,Apipost可以!
· 零经验选手,Compose 一天开发一款小游戏!
· Trae 开发工具与使用技巧
· 历时 8 年,我冲上开源榜前 8 了!
· 通过 API 将Deepseek响应流式内容输出到前端