ホームページ  >  記事  >  バックエンド開発  >  Python が cx_Oracle を使用して Oracle ストアド プロシージャを呼び出す方法の例

Python が cx_Oracle を使用して Oracle ストアド プロシージャを呼び出す方法の例

黄舟
黄舟オリジナル
2017-10-09 10:36:283683ブラウズ

この記事では、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 オブジェクト タイプの間には変換関係があります。詳細は次のとおりです:

OracleVARCHAR2, NVARCHAR2, LONGCHAR NUMBERFLOATDATETIMESTAMPCLOBBLOB
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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。