时间:2023-10-31来源:系统城装机大师作者:佚名
场景:Oracle存储过程调用方式,包括PL/SQL的SQL窗口中调用、在PL/SQL的命令窗口、在Procedures菜单列表中选中存储过程名称右键点击测试、在Package Bodies菜单列表中选中存储过程名称右键点击测试、在Jobs菜单列表选中已经配置Job的存储过程右键中点击运行、Java代码调用存储过程。
版本:Oracle Database 11g
工具:PL/SQL Developer
本例环境,使用Packages和Packages bodies管理存储过程Procedure。
Packages和Packages bodies名称:PKG_ZBZ_PORTAL
Procedure名称:PRO_INSERT_INFO_ARGS
完整SQL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
--包定义 CREATE OR REPLACE PACKAGE PKG_ZBZ_PORTAL IS PROCEDURE PRO_INSERT_INFO_ARGS(IN_DATE IN VARCHAR2 := NULL , FLAG OUT NUMBER, FAIL_INFO OUT VARCHAR2); END PKG_ZBZ_PORTAL; --包体 CREATE OR REPLACE PACKAGE BODY PKG_ZBZ_PORTAL IS PROCEDURE PRO_INSERT_INFO_ARGS(IN_DATE IN VARCHAR2 := NULL , FLAG OUT NUMBER, FAIL_INFO OUT VARCHAR2) IS BEGIN DECLARE V_DATE DATE := TRUNC(SYSDATE - 1); BEGIN FLAG := 1; FAIL_INFO := '' ; IF (IN_DATE IS NOT NULL ) THEN V_DATE := TO_DATE(IN_DATE, 'YYYYMMDD' ); END IF; INSERT INTO B_LOG_INFO SELECT SEQ_DEMO_ID.NEXTVAL,V_DATE, SYSDATE, '1' , '执行成功' ,50, 'DUAL' FROM DUAL; COMMIT ; EXCEPTION WHEN OTHERS THEN FLAG := 0; FAIL_INFO := '此次执行: ' || IN_DATE || ' 输出结果: FLAG = ' || FLAG || '异常信息: ' || SQLERRM; ROLLBACK ; END ; END PRO_INSERT_INFO_ARGS; END PKG_ZBZ_PORTAL; |
注意以下测试,存储过程或者包都必须编译通过,即如下。
在PL/SQL Developer工具,菜单路径依次:文件->新建->SQL 窗口,即可以进入SQL窗口中。
场景:在存储过程提交后,直接在SQL 窗口执行,调用存储过程验证和测试存储过程。
1 2 3 |
var FLAG NUMBER; var FAIL_INFO VARCHAR2(512); exec PKG_ZBZ_PORTAL.PRO_INSERT_INFO_ARGS( '20220710' ,:FLAG,:FAIL_INFO); |
在PL/SQL Developer工具,菜单路径依次:文件->新建->命令窗口,即可以进入命令窗口中。
场景:在存储过程提交后,直接在命令窗口执行,调用存储过程验证和测试存储过程。
1 2 3 |
var FLAG NUMBER; var FAIL_INFO VARCHAR2(512); exec PKG_ZBZ_PORTAL.PRO_INSERT_INFO_ARGS( '20220710' ,:FLAG,:FAIL_INFO); |
在PL/SQL Developer工具,在左侧对象导航窗口,菜单路径依次:Users->用户名称->Objects->Procedures,选中需要测试的存储过程,右键选中,点击测试,即进入测试窗口,根据需求填写参数(如果有入参)。注意,能出现测试菜单前提是存储过程必须先编译提交。
场景:在存储过程提交后,直接在Procedures菜单列表中选中存储过程,调用存储过程验证和测试存储过程。
在PL/SQL Developer工具,在左侧对象导航窗口,菜单路径依次:Users->用户名称->Objects->Package或Package Bodies,选中需要测试的存储过程,右键选中,点击测试,即进入测试窗口,根据需求填写参数(如果有入参)。注意,能出现测试菜单前提是存储过程必须先编译提交。
场景:在存储过程提交后,直接在Package或Package Bodies菜单列表中选中存储过程,调用存储过程验证和测试存储过程。
5.1 右键包名称,选择菜单:查看说明与体。即进入包里存储过程。
5.2 右键存储过程名称,选择测试,即进入测试窗口。
在PL/SQL Developer工具,在左侧对象导航窗口,菜单路径依次:Users->用户名称->Objects->Jobs,选中需要运行的job任务,右键选中,点击运行。
场景:在存储过程提交后,直接在Jobs菜单列表中选中存储过程,调用存储过程验证和测试存储过程。
本例引用:https://www.jb51.net/article/281108.htm
场景:
使用Java代码调用oracle的存储过程,本例使用JdbcTemplate模板类操作.
2023-10-31
Oracle如何编写一个sqlldr实例2023-10-31
Oracle的SQLLDR用法简介2023-10-31
Oracle中的高效SQL编写PARALLEL解析1.Oracle数据库系统结构概述 2.Oracle数据库存储结构 物理存储结构 控制文件 数据文件 重做日志文件 归档日志文件 Oracle数据库逻辑结构 数据块(Data Block) (盘)区(Extent) 段(Segment) 表空间(Tablespace) 本地管...
2023-10-31
windows下的Oracle19c 一、官网下载Oracle19c数据库 二、安装Oracle数据库 1.解压安装包 2.运行setup.exe安装 三、配置 四、安装完Oracle数据库,给scott用户解锁 1.解决Oracle数据库中没有scott账户的问题 2.给scott...
2023-10-31