Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie rufe ich eine Oracle-Funktion in Python auf?

In diesem Tutorial erfahren Sie, wie Sie die Oracle-Funktion in Python aufrufen. Ich gebe ein Beispiel, indem ich Callfunc der cx_Oracle-Bibliothek verwende Funktion im Python-Programm. Das Folgende sind die Syntaxdetails und die Beispielprogramme.

Syntax der CX_Oracle callfunc-Funktion

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

Oracle-Datenbankfunktionsbeispiel

Die folgende Oracle-Funktion benötigt zwei Zahlenargumente, um den Prozentsatz der ersten Zahl durch die zweite Zahl zu berechnen.

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

Beispiel zum Aufrufen einer Oracle-Funktion in Python

Das folgende Python-Programm ruft die obige Oracle-Funktion auf, indem es n_1 als ersten Parameter und n_2 als zweiten Parameter übergibt. Außerdem wird die Variable n_pct Number verwendet, um den Rückgabewert der Funktion zu speichern.

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

Ausgabe

20% Percent of 80 is: 16.0

Siehe auch:

  • Wie rufe ich gespeicherte Oracle-Prozeduren in Python auf?