この記事では、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;
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 オブジェクト タイプの間には変換関係があります。詳細は次のとおりです:
cx_Oracle | Python | |
cx_Oracle.STRING | str | |
cx_Oracle.FIXED_CHAR | str | |
cx_Oracle.NUMBER | int | |
cx_Oracle.NUMBER | float | |
cx_Oracle.DATETIME | datetime.datetime | |
cx_Oracle.TIMESTAMP | 日時. | |
cx_Oracle.CLOB | cx_Oracle.LOB | |
cx_Oracle.BLOB | cx_Oracle.LOB |
以上がPython が cx_Oracle を使用して Oracle ストアド プロシージャを呼び出す方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。