程序包中调用Oracle存储过程

楼主
我是社区第238588位番薯,欢迎点我头像关注我哦~
1. 问题描述

若存储过程是在程序包中的,如 MYPROCEDURE 是在P ACKAGE_NAME 程序包中定义的,在模板数据集>存储过程中存储过程语句是无法预览的,如下图所示:

2. 实现思路

在模板数据集>数据库查询中通过 用户名.包名.存储过程 或者 包名.存储过程 方式去调用。

需要注意的是,存储函数或存储过程这两个方法的调用语句是不同的,区别如下:

  • 存储过程:{call SYSTEM.AAAAA('11',?)}

  • 存储函数:{?=call SYSTEM.AAAAA('11')}


3. 示例

若是调用数据库存储过程取数,官方只支持查询语句select进行取数,其他写法(例如下面的写法), 返回的结果不能保证,不建议使用 :

通过 用户名.包名.存储过程 来调用:{call SYSTEM.PACKAGE_NAME.MYPROCEDURE(?)}

或者直接通过 包名.存储过程 来调用:{call PACKAGE_NAME.MYPROCEDURE(?)}


编辑于 2020-9-25 17:18  
分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表