cx_Oracle怎么打包,cx_Oracle 在执行包文件 function 时有多个出参该如何获取

oracle 数据库 包文件这样创建的

function pf_get_info(id in varchar2,

name out varchar2,

sex out varchar2,

birthdate out date,

cd_no out varchar2) return integer is

e_info_no_found exception;

begin

begin

select name,

decode(sex, '0', '男', '1', '女', '未知'),

birthdate,

nvl(cpr_no, '')

into rs_name, rs_sex, rdt_birthdate, rs_cd_no

from basic_info

where id = id;

exception

when NO_DATA_FOUND then

raise e_info_no_found;

end;

return 0;

--异常处理

exception

when e_info_no_found then

return - 1;

end pf_get_info;

python 使用 cx_Oracle.Cursor.callfunc(proc, returnType, [params]) 调用函数 ,out 为多种类型的多个参数该如何获取呢?我看网上都是返回一个值的函数调用,我的样例代码如下

import cx_Oracle

class HR:

def __enter__(self):

self.__db = cx_Oracle.Connection("user/[email protected]//127.0.0.1:1521/ydyf")

self.__cursor = self.__db.cursor()

return self

def __exit__(self, type, value, traceback):

self.__cursor.close()

self.__db.close()

def pf_get_info(self,id):

l_rs_name = self.__cursor.var(cx_Oracle.STRING)

l_rs_sex = self.__cursor.var(cx_Oracle.STRING)

l_rdt_birthdate = self.__cursor.var(cx_Oracle.DATETIME)

l_rs_cd_no = self.__cursor.var(cx_Oracle.STRING)

# as_sick_id = self.__cursor.var(cx_Oracle.STRING)

self.__cursor.callfunc("PKG_HR.pf_get_info",cx_Oracle.NUMBER,[id])

return l_rs_name,l_rs_sex,l_rdt_birthdate,l_rs_cd_no

ggg=HR

id="2094"

l_rs_name,l_rs_sex,l_rdt_birthdate,l_rs_cd_no=ggg.pf_get_info(id)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MaxCompute预付费资源监控工具-CU管家使用教程

摘要: MaxCompute管家使用前提 1、用户购买了 MaxCompute 预付费CU资源,60CU以上的用户(备注:CU过小无法发挥计算资源及管家的优势)。 2、支持区域,MaxCompute 华北2北京、华东2上海、华南1深圳 3个Region的…

SpringBoot2.x 整合websocket 消息推送,单独发送信息,群发信息

根据公司需求在SpringBoot项目中集成站内信,于是,我做了一个SpringBoot2.x 整合websocket 消息推送,给指定用户发送信息和群发信息即点点对方式和广播方式2种模式。 文章目录一、地址部署总览二、实战需求案例三、实战准备3.1. pom依赖3.2. a…

Spark精华问答 | 为什么要学Spark?

戳蓝字“CSDN云计算”关注我们哦!为什么要学习Spark?作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型,而且高效地支持更多的计算模式,包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中…

oracle导入dmp清除之前,oracle导入dmp遇到的有关问题

oracle导入dmp遇到的问题一、 首先要明白,导入导出dmp文件是通过cmd命令执行的,而不是通过SQL plus执行的.此外也可以借助PLSQLDev工具进行导入导出记得“导出可执行文件”选择客户端安装好的bin下的exp.exe工具二、发现在导出的过程有问题:网…

每个人都应该知道的25个大数据术语

摘要: 如果你初来乍到,大数据看起来很吓人!根据你掌握的基本理论,让我们专注于一些关键术语以此给你的约会对象、老板、家人或者任何一个人带来深刻的印象。 让我们开始吧: 1.算法。“算法”如何与大数据相关?即使算法是一个通用…

开发经验分享_04_快速熟悉程序(思路)

接上一篇:(企业内部)开发经验分享_03_解决问题3步走(思路) https://gblfy.blog.csdn.net/article/details/103414474 文章目录一、明确组件布局1. 页面布局2. 后端布局3. 明确位置坐标,再上路二、映射有度1. 前和后2. 思路和现实3. 对对碰三、知悉意/系1…

【个推CTO谈数据智能】之本质及技术体系要求

戳蓝字“CSDN云计算”关注我们哦!作者|安森来源|个推技术学院安森,个推CTO毕业于浙江大学,现全面负责个推技术选型、研发创新、运维管理等工作,已带领团队开发出针对移动互联网、金融风控等行业的多项前沿数据智能解决方案。曾任M…

oracle11管理员连接数据库,1.运行 cmd.exe;2.输入 sqlplus / as sysdba,以系统管理员(sysdba)身份连接数据库,进行数据库管理操作。3.连接成功后执...

1.运行 cmd.exe;2.输入 sqlplus / as sysdba,以系统管理员(sysdba)身份连接数据库,进行数据库管理操作。3.连接成功后执行alter user identityName identified by password; —–修改密码alter user identityName account unlock; —–解锁alter user id…

企业打开Redis的正确方式,来自阿里云云数据库团队的解读

摘要: Redis是开源的基于内存且可以持久化的分布式 Key – Value数据库。自2009年发布最初版本以来,Redis的热度只增不减,除了经常位居DB-Engines的最受欢迎Key-Value数据库榜首之外,看阿里云技术总监为您深度解读云数据库Redis。…

2019 年度程序员吸金榜:你排第几?

作为全球知名招聘求职网站Indeed,最近发布了2019年度最佳工作榜单,公布了2019年的行业领域及工作岗位薪酬,在全行业的榜单中,跟程序员相关的岗位有9个!对此,大家纷纷留言表示程序员或成最大赢家&#xff01…

[ERR] 1227 - Access denied; you need (at least one of) the SUPER privilege

错误二:[ERR] 1227 - Access denied; you need (at least one of) the SUPER privilege… 觖决办法 用文本工具打开sql文件 查找: DEFINER fit_root% 把fit_root%账号改成你实际导入的那台服务器mysql账号保存即可

oracle database 11g plsql 程序设计,oracle-database-11g-plsql-编程实战笔记

Chap1DML语句是select 、insert、update、delete和mergeDDL语句是create、alter、drop、rename、truncate、commentDCL语句是grant、revokeTCL语句是commit、rollback和savepointsql16个基本命令——参考书《OCA认证考试指南(IZ0-051)》清华大学出版社《oracle database sql la…

YAFFS2移植到AliOS Things指南

摘要: YAFFS2介绍 YAFFS(Yet Another Flash File System)是第一个专门为NAND Flash存储器设计的嵌入式文件系统,适用于大容量的存储设备。YAFFS 是基于日志的文件系统,提供磨损平衡和掉电恢复的健壮性。 点此查看原文&…

Error querying database. Cause: java.lang.IllegalArgumentException:Failed to decrypt. 错误解决方案

java.lang.IllegalArgumentException:Failed to decrypt 从错误可以看出,解密失败。 原因是你在数据库连接配置的地方,设置了加密。即: config.decrypttrue将其改成: config.decryptfalse问题就可以解决。

阿里云十年,从去“IOE”到引领云原生浪潮

戳蓝字“CSDN云计算”关注我们哦!作者 | 孙浩峰出品 | CSDN云计算(ID:CSDNcloud)2008年,王坚从微软亚洲技术研究院空降阿里,担任首席架构师。这个在阿里内部尊称为“博士”的首席架构师所学却是一个心理学博…

linux下mtr命令,如何使用Linux mtr命令

对于经常和Linux打交道的技术人员来说,mtr命令是一个非常实用的Linux命令。它可以进行实时网络诊断。本篇文章分享了linux mtr命令的详细使用示例。以下描述来自mtr命令的软件包信息。Mtr是一种网络诊断工具,将ping和traceroute组合到一个程序中。Mtr提供…

IntelliJ IDEA 单行注释调整

部分人并不习惯这种风格,所以一般会设置为单行注释的两个斜杠跟随在代码的头部,在File -> Setting -> Editor -> Code Style -> Java -> Code Generation 下如图设置即可

高速通道-冗余物理专线接入-健康检查配置

摘要: 组建混合云,用户的IDC需要通过物理专线与阿里云VPC互通,多线冗余是基本配置需求。阿里云提供的冗余冗余切换方案是在VPC中,用户掌握切换原理,即可自主在控制台完成冗余负载配置。 一 VPC健康检查IP机制1 健康检查…

OpenStack精华问答 | OpenStack的目标是什么?

关于OpenStack的争议,从未停止,每每关于它的消息,都会一石激起千层浪。今天就让我们看看关于OpenStack的问答吧。1Q : 什么是OpenStack?A : OpenStack,是目前最为流行的开源云操作系统框架。深入理解OpenStack需要围绕…

linux创建定时任务命令,linux设置定时任务的方法步骤

一,首先登录二,找到文件夹三,查看定时任务crontab -l四,vi root 编辑定时任务 编辑完成后,点ESC,然后:wq时间格式分钟 小时 日期 月份 周 命令数字范围 0-59 0-23 1-31 1-12 0-7 echo "hello" &g…