1
기존 저장 프로 시저를 호출하려고하지만 명명 된 매개 변수를 사용하면 첫 번째 매개 변수는 기본값 (이 경우 NULL)을 유지해야합니다.파이썬에서 Oracle 저장 프로 시저로 명명 된 매개 변수
나는이 아이디어를 얻기 위해 너무 오랜 시간을 보냈다.
는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
어떻게 할 절차와 동일한 순서로 입력과 출력의 목록이 반환? –