Beim Versuch, eine vorhandene gespeicherte Prozedur aufzurufen, aber benannte Parameter zu verwenden, sollte der erste Parameter den Standardwert beibehalten (in diesem Fall NULL).Benannte Parameter mit einer gespeicherten Oracle-Prozedur in Python
Ich habe viel zu lange damit verbracht zu arbeiten, irgendwelche Ideen?
create or replace procedure so_test(p1 in varchar2 default null, p2 in varchar2 default null, p3 in varchar2 default null) as
begin
null;
end;
import cx_Oracle
db = cx_Oracle.connect('/@XTS_DEV.CLIENT')
cur = db.cursor()
cur.callproc("so_test", ('X', 'Y', 'Z'))
cur.callproc("so_test(p2=>:1, p3=>:2)", ('Y', 'Z'))
Traceback (most recent call last):
File "C:\Users\PatrickJolliffe\so_test.py", line 5, in <module>
cur.callproc("so_test(p2=>:1, p3=>:2)", ('Y', 'Z'))
cx_Oracle.DatabaseError: ORA-06550: line 1, column 7:
PLS-00801: internal error [22503]
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Wie würde diese Rückkehr, mit einer Liste von Eingangs- und Ausgang in der gleichen Reihenfolge wie Verfahren? –