Python使用cx_Oracle调用Oracle存储过程的方法示例

 更新时间:2017年10月07日 01:24:04   作者:Pierre_  
这篇文章主要介绍了Python使用cx_Oracle调用Oracle存储过程的方法,结合具体实例分析了Python中通过cx_Oracle调用PL/SQL的具体步骤与相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下:

这里主要测试在Python中通过cx_Oracle调用PL/SQL。

首先,在数据库端创建简单的存储过程。

create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is
begin
 o_msg := i_user ||', Good Morning!';
end;

然后,开始在Python命令行中进行存储过程调用。

import cx_Oracle as cx
conn = cx.connect('database connecting string')
cursor = conn.cursor()
#声明变量
user = 'Nick' #plsql入参
msg = cursor.var(cx_Oracle.STRING) #plsql出参
#调用存储过程
cursor.callproc('test_msg', [user, msg]) #['Nick', 'Nick, Good Morning!']
#打印返回值
print msg #<cx_Oracle.STRING with value 'Nick, Good Morning!'>
print msg.getvalue() #Nick, Good Morning!
#资源关闭
cursor.close()
conn.close()

延伸阅读:

存储过程、cx_Oracle、Python的对象类型之间存在转换关系。具体如下:

Oracle cx_Oracle Python
VARCHAR2, NVARCHAR2, LONG cx_Oracle.STRING str
CHAR cx_Oracle.FIXED_CHAR str
NUMBER cx_Oracle.NUMBER int
FLOAT cx_Oracle.NUMBER float
DATE cx_Oracle.DATETIME datetime.datetime
TIMESTAMP cx_Oracle.TIMESTAMP datetime.datetime
CLOB cx_Oracle.CLOB cx_Oracle.LOB
BLOB cx_Oracle.BLOB cx_Oracle.LOB

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • Python通过paramiko远程下载Linux服务器上的文件实例

    Python通过paramiko远程下载Linux服务器上的文件实例

    今天小编就为大家分享一篇Python通过paramiko远程下载Linux服务器上的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python中的opencv 图像分割与提取

    python中的opencv 图像分割与提取

    这篇文章主要介绍了python中的opencv 图像分割与提取,图像中将前景对象作为目标图像分割或者提取出来。对背景本身并无兴趣分水岭算法及GrabCut算法对图像进行分割及提取。具体实现过程需要的朋友可以参考下面文章详细介绍
    2022-06-06
  • Python实现图片格式转换小程序

    Python实现图片格式转换小程序

    这篇文章主要为大家详细介绍了Python实现图片格式转换小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • Matplotlib绘图基础之3D图形绘制详解

    Matplotlib绘图基础之3D图形绘制详解

    matplotlib 在1.0版本之前其实是不支持3D图形绘制的,后来的版本中,matplotlib加入了3D图形的支持,扩展了其展示数据分布和关系的能力,下面就和大家介绍一下matplotlib中绘制各类3D图形的方法
    2023-08-08
  • Python深度学习TensorFlow神经网络基础概括

    Python深度学习TensorFlow神经网络基础概括

    这篇文章主要为大家介绍了Python深度学习中TensorFlow神经网络基础概括,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • 将tensorflow模型打包成PB文件及PB文件读取方式

    将tensorflow模型打包成PB文件及PB文件读取方式

    今天小编就为大家分享一篇将tensorflow模型打包成PB文件及PB文件读取方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现简易的限流器介绍

    Python实现简易的限流器介绍

    大家好,本篇文章主要讲的是Python实现简易的限流器介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • windows下安装Python虚拟环境virtualenvwrapper-win

    windows下安装Python虚拟环境virtualenvwrapper-win

    这篇文章主要介绍了windows下安装Python虚拟环境virtualenvwrapper-win,内容超简单,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 如何利用python正确地为图像添加高斯噪声

    如何利用python正确地为图像添加高斯噪声

    这篇文章主要给大家介绍了关于如何利用python正确地为图像添加高斯噪声的相关资料,需要的朋友可以参考下
    2022-03-03
  • Python趣味挑战之实现简易版音乐播放器

    Python趣味挑战之实现简易版音乐播放器

    小伙伴们天天学编程应该都学累了,今天特地给大家整理了这篇文章,让大家在学习的时候也收货快乐,文中有非常详细的代码示例,需要的朋友可以参考下
    2021-05-05

最新评论