sql >> Database >  >> RDS >> Oracle

Hoe de Oracle-functie in Python aan te roepen?

In deze zelfstudie leert u hoe u de Oracle-functie in Python aanroept. Ik geef een voorbeeld met behulp van cx_Oracle bibliotheek callfunc functie in het Python-programma. Hieronder volgen de syntaxisdetails en de voorbeeldprogramma's.

CX_Oracle callfunc Functiesyntaxis

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

Voorbeeld van Oracle-databasefunctie

De volgende Oracle-functie heeft twee getalargumenten nodig om het percentage van het eerste getal bij het tweede getal te berekenen.

CREER OF VERVANG FUNCTIE calc_percentage (p_1 IN NUMBER, p_2 IN NUMBER)RETURN NUMBERISn_pct NUMBER :=0;BEGINIF p_1 IS NIET NULLTHENn_pct :=(p_1 * p_2) / 100;END IF;RETURN n_pct;/END ALS /pre> 

Voorbeeld om de Oracle-functie in Python aan te roepen

Het onderstaande Python-programma roept de bovenstaande Oracle-functie aan door n_1 als eerste parameter en n_2 als tweede parameter door te geven. Ook wordt de variabele n_pct Number gebruikt om de geretourneerde waarde per functie vast te houden.

import cx_Oraclecon =cx_Oracle.connect('scott/tiger@localhost/orcl')cur =con.cursor()n_pct =cur.var(cx_Oracle.NUMBER)n_1 =80n_2 =20cur.callfunc('calc_percentage  ', n_pct , [n_1 , n_2 ])print (str(n_2)+"%", " Percentage van", n_1, " is:", n_pct.getvalue())cur.close()con.close()

Uitvoer

20% Procent van 80 is:16,0

Zie ook:

  • Hoe Oracle Stored Procedure in Python aan te roepen?
  1. MariaDB JSON_ARRAYAGG() uitgelegd

  2. Hoe kan ik een SELECT DISTINCT uitvoeren op alle velden behalve een BLOB?

  3. Oracle REGEXP_LIKE en woordgrenzen

  4. Hoe DAYOFYEAR() werkt in MariaDB