create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end;
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如何使用cx_Oracle调用Oracle存储过程的示例的详细内容,更多请关注Gxl网其它相关文章!
查看更多关于Python如何使用cx_Oracle调用Oracle存储过程的示例的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did84380