Python 如何指定cx\U Oracle存储函数记录返回类型?
在cx Oracle代码中指定x_类型的正确方法是什么Python 如何指定cx\U Oracle存储函数记录返回类型?,python,oracle,cx-oracle,stored-functions,Python,Oracle,Cx Oracle,Stored Functions,在cx Oracle代码中指定x_类型的正确方法是什么 CREATE OR REPLACE my_package as TYPE x_type IS RECORD { a_val number, b_val varchar2(20), c_val boolean }; FUNCTION my_func ( d number )
CREATE OR REPLACE my_package as
TYPE x_type IS RECORD { a_val number,
b_val varchar2(20),
c_val boolean };
FUNCTION my_func ( d number )
RETURN x_type;
谢谢,我已经尝试了很多,但仍然找不到如何使用type record。据我所知,类型记录仅在pl/sql中受支持,所以是否可以在sql中调用它将是一个问题。 我建议你可以用光标代替记录。 作为您的参考:
curs.callfunc('my_func', x_type, [1])
用python
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)
>>>