Lệnh gọi đến một thủ tục nhận một chuỗi làm tham số và cũng trả về một chuỗi.
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
print(type(l_test))
#>>> <class 'list'>
Vì vậy, bạn có thể truy cập con trỏ trả về theo chỉ mục:
ret_cursor = self.__cursor.callproc("prc_get_some_data",[l_cur])[0]
hoặc
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
ret_cursor = l_test[0]
Sau đó, bạn có thể in kết quả bằng vòng lặp for
for line in ret_cursor:
print line
hoặc với print ret_cursor.fetchall()
hoặc với pprint
công cụ nếu cần.
Trong tài liệu
bạn đã liên kết, giá trị trả về được giải nén trực tiếp thành l_query
và l_emp
:
l_query, l_emp = self.__cursor.callproc("PKG_HR.FIND_EMPLOYEES", [p_query, l_cur])
Nhân tiện, bạn có thể cần phải đóng con trỏ trả về ở cuối, với cùng phương thức với con trỏ chính:ret_cursor.close()
. Nếu không, nó có thể đưa ra một ngoại lệ về việc không thể đóng kết nối .