In questo tutorial imparerai come chiamare la funzione Oracle in Python. Sto fornendo un esempio utilizzando cx_Oracle library callfunc funzione nel programma Python. Di seguito sono riportati i dettagli della sintassi e i programmi di esempio.
Sintassi della funzione callfunc CX_Oracle
cursor.callfunc('oracle_function_name', variable_to_hold_return_value, [argument_1, argument_2, ...])
Esempio di funzione database Oracle
La seguente funzione Oracle prenderà due argomenti numerici per calcolare la percentuale del primo numero per il secondo numero.
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; /
Esempio per chiamare la funzione Oracle in Python
Il programma Python seguente chiamerà la funzione Oracle precedente passando n_1 come primo parametro e n_2 come secondo parametro. Inoltre, la variabile n_pct Number viene utilizzata per contenere il valore restituito dalla funzione.
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()
Uscita
20% Percent of 80 is: 16.0
Vedi anche:
- Come chiamare Oracle Stored Procedure in Python?