首頁  >  文章  >  後端開發  >  Python如何使用cx_Oracle呼叫Oracle預存程​​序的範例

Python如何使用cx_Oracle呼叫Oracle預存程​​序的範例

黄舟
黄舟原創
2017-10-09 10:36:283661瀏覽

這篇文章主要介紹了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 &#39;Nick, Good Morning!&#39;>
print msg.getvalue() #Nick, Good Morning!
#资源关闭
cursor.close()
conn.close()

#延伸閱讀:

預存程序、cx_Oracle、Python的物件類型之間存在轉換關係。具體如下:

#NUMBERcx_Oracle.NUMBERintFLOATcx_Oracle.NUMBER#floatDATEcx_Oracle.DATETIMEdatetime.datetime#TIMESTAMP#cx_Oracle.TIMESTAMPdatetime.datetime
Oracle cx_Oracle Python
VARCHAR2, NVARCHAR2, LONG cx_Oracle.STRING str
#CHAR cx_Oracle.FIXED_CHAR #str
#########CLOB######cx_Oracle.CLOB######cx_Oracle.LOB###########################################################################################################################################################################################>########### ########BLOB######cx_Oracle.BLOB######cx_Oracle.LOB############

以上是Python如何使用cx_Oracle呼叫Oracle預存程​​序的範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn