本文測試在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_Orace 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 | cx_Oracle.STRING | str |
CHAR | cx_Oracle.FIXED_CHAR | |
NUMBER | cx_Oracle.NUMBER | int |
FLOAT | float | |
DATE | cx_Oracle.DATETIME | datetime.datetime |
TIMESTAMP | cx_Oracle.TIMESTAMP | |
CLOB | cx_Oracle.CLOB | cx_Oracle.LOB |
BLOB | cx_Oracle.BLOB |
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:在Python中使用cx_Oracle調用Oracle存儲過程-創新互聯
文章鏈接:http://vcdvsql.cn/article14/ceohge.html
成都網站建設公司_創新互聯,為您提供網站制作、做網站、服務器托管、移動網站建設、軟件開發、搜索引擎優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯