Kaldet til en procedure tager en sekvens som parameter og returnerer også en sekvens.
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
print(type(l_test))
#>>> <class 'list'>
Så du kan få adgang til den returnerede markør ved at indeksere :
ret_cursor = self.__cursor.callproc("prc_get_some_data",[l_cur])[0]
eller
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
ret_cursor = l_test[0]
Så kan du printe resultatet med en for-løkke
for line in ret_cursor:
print line
eller med print ret_cursor.fetchall()
, eller med pprint
værktøj, hvis det er nødvendigt.
I dokumentationen
du har linket, pakkes returværdien direkte ud til l_query
og l_emp
:
l_query, l_emp = self.__cursor.callproc("PKG_HR.FIND_EMPLOYEES", [p_query, l_cur])
I øvrigt skal du muligvis lukke den returnerede markør i slutningen med samme metode som hovedmarkøren:ret_cursor.close()
. Ellers kan det give en undtagelse om forbindelsen kan ikke lukkes .