Python使用cx_Oracle調(diào)用Oracle存儲(chǔ)過(guò)程的方法示例
本文實(shí)例講述了Python使用cx_Oracle調(diào)用Oracle存儲(chǔ)過(guò)程的方法。分享給大家供大家參考,具體如下:
這里主要測(cè)試在Python中通過(guò)cx_Oracle調(diào)用PL/SQL。
首先,在數(shù)據(jù)庫(kù)端創(chuàng)建簡(jiǎn)單的存儲(chǔ)過(guò)程。
create or replace procedure test_msg(i_user in varchar2, o_msg out varchar2) is begin o_msg := i_user ||', Good Morning!'; end;
然后,開始在Python命令行中進(jìn)行存儲(chǔ)過(guò)程調(diào)用。
import cx_Oracle as cx
conn = cx.connect('database connecting string')
cursor = conn.cursor()
#聲明變量
user = 'Nick' #plsql入?yún)?
msg = cursor.var(cx_Oracle.STRING) #plsql出參
#調(diào)用存儲(chǔ)過(guò)程
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!
#資源關(guān)閉
cursor.close()
conn.close()
延伸閱讀:
存儲(chǔ)過(guò)程、cx_Oracle、Python的對(duì)象類型之間存在轉(zhuǎn)換關(guān)系。具體如下:
| 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 |
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
在python中使用SQLAlchemy查詢PostgreSQL視圖的流程步驟
作為軟件開發(fā)人員,查詢 PostgreSQL 視圖是一項(xiàng)常見(jiàn)任務(wù),使用視圖(代表SQL 查詢輸出的虛擬表)被認(rèn)為是處理關(guān)系數(shù)據(jù)庫(kù)時(shí)的有效方法,本文介紹如何在 Python 中使用 SQLAlchemy 查詢 PostgreSQL 視圖,需要的朋友可以參考下2023-09-09
Python讀取本地文件并解析網(wǎng)頁(yè)元素的方法
今天小編就為大家分享一篇Python讀取本地文件并解析網(wǎng)頁(yè)元素的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Python中的yeild關(guān)鍵字提高代碼執(zhí)行效率場(chǎng)景實(shí)例探究
在Python編程語(yǔ)言中,yeild是一個(gè)非常實(shí)用的關(guān)鍵字,它不僅可以幫助你編寫更加簡(jiǎn)潔的代碼,還可以提高代碼的執(zhí)行效率,本文將詳細(xì)介紹yeild在Python中的使用方法,并通過(guò)示例代碼進(jìn)行演示,讓我們一起來(lái)探索這個(gè)強(qiáng)大的關(guān)鍵字吧2024-01-01
Keras多線程機(jī)制與flask多線程沖突的解決方案
這篇文章主要介紹了Keras多線程機(jī)制與flask多線程沖突的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python實(shí)現(xiàn)對(duì)字符串的加密解密方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)字符串的加密解密方法,結(jié)合實(shí)例形式分析了Python使用PyCrypto模塊進(jìn)行DES加密解密的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
Django JSonResponse對(duì)象的實(shí)現(xiàn)
本文主要介紹了Django JSonResponse對(duì)象的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

