sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo llamar a la función de Oracle en Python?

En este tutorial, aprenderá cómo llamar a la función de Oracle en Python. Estoy dando un ejemplo usando cx_Oracle library callfunc función en el programa Python. Los siguientes son los detalles de la sintaxis y los programas de muestra.

Sintaxis de la función CX_Oracle callfunc

cursor.callfunc('oracle_function_name', variable_to_hold_return_value, [argument_1, argument_2, ...])

Ejemplo de función de base de datos de Oracle

La siguiente función de Oracle tomará dos argumentos numéricos para calcular el porcentaje del primer número por el segundo número.

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;
/

Ejemplo para llamar a la función de Oracle en Python

El siguiente programa de Python llamará a la función de Oracle anterior al pasar n_1 como primer parámetro y n_2 como segundo parámetro. Además, la variable Número n_pct se usa para contener el valor de retorno por función.

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()

Salida

20% Percent of 80 is: 16.0

Ver también:

  • ¿Cómo llamar al procedimiento almacenado de Oracle en Python?