2013-04-19 2 views

답변

0

나는 유형의 레코드를 사용하는 방법을 찾을 수없는 여전히 많은 시도했지만했다. 알다시피, 입력 레코드는 pl/sql에서만 지원되므로 sql에서 호출 할 수 있는지 여부는 문제가됩니다. 레코드 대신 커서를 사용할 것을 제안합니다. 참고로 :

파이썬에서
create or replace function FN_RETURN_CURS(X NUMBER) return SYS_REFCURSOR is 
    C SYS_REFCURSOR; 
begin 
    OPEN C FOR 
    SELECT X, 'A', 1 FROM DUAL; 
    return(C); 
end FN_RETURN_CURS; 

db=cx_Oracle.connect(...) 

>>> cursor=db.cursor() 
>>> r=cursor.callfunc('fn_return_curs',cx_Oracle.CURSOR,[5]) 
>>> r.fetchone() 
(5, 'A', 1) 
>>> 

^_^