Panggilan ke prosedur mengambil urutan sebagai parameter, dan mengembalikan urutan juga.
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
print(type(l_test))
#>>> <class 'list'>
Jadi Anda dapat mengakses kursor yang dikembalikan dengan indeks :
ret_cursor = self.__cursor.callproc("prc_get_some_data",[l_cur])[0]
atau
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
ret_cursor = l_test[0]
Kemudian Anda dapat mencetak hasilnya dengan for loop
for line in ret_cursor:
print line
atau dengan print ret_cursor.fetchall()
, atau dengan pprint
alat jika diperlukan.
Dalam dokumentasi
Anda telah menautkan, nilai kembalian langsung dibongkar ke l_query
dan l_emp
:
l_query, l_emp = self.__cursor.callproc("PKG_HR.FIND_EMPLOYEES", [p_query, l_cur])
Omong-omong, Anda mungkin perlu menutup kursor yang dikembalikan di akhir, dengan metode yang sama seperti kursor utama:ret_cursor.close()
. Jika tidak, itu dapat menimbulkan pengecualian tentang koneksi tidak dapat ditutup .