このチュートリアルでは、PythonでOracle関数を呼び出す方法を学習します。 cx_Oracleライブラリcallfuncを使用して例を示しています。 Pythonプログラムの関数。以下は、構文の詳細とサンプルプログラムです。
CX_Oraclecallfunc関数の構文
cursor.callfunc('oracle_function_name', variable_to_hold_return_value, [argument_1, argument_2, ...])
Oracleデータベース関数の例
次のOracle関数は、2つの数値引数を取り、最初の数値と2番目の数値のパーセンテージを計算します。
CREATE OR REPLACE FUNCTION calc_percentage (p_1 IN NUMBER, p_2 IN NUMBER) RETURN NUMBER IS n_pct NUMBER := 0; BEGIN IF p_1 IS NOT NULL THEN n_pct := (p_1 * p_2) / 100; END IF; RETURN n_pct; END calc_percentage; /
PythonでOracle関数を呼び出す例
以下のPythonプログラムは、最初のパラメーターとしてn_1を渡し、2番目のパラメーターとしてn_2を渡すことにより、上記のOracle関数を呼び出します。また、n_pct Number変数は、関数ごとの戻り値を保持するために使用されます。
import cx_Oracle con = cx_Oracle.connect('scott/tiger@localhost/orcl') cur = con.cursor() n_pct = cur.var(cx_Oracle.NUMBER) n_1 = 80 n_2 = 20 cur.callfunc('calc_percentage', n_pct, [n_1, n_2]) print (str(n_2)+"%", " Percent of ", n_1, " is: ", n_pct.getvalue()) cur.close() con.close()
出力
20% Percent of 80 is: 16.0
関連項目:
- PythonでOracleストアドプロシージャを呼び出す方法