एक प्रक्रिया के लिए कॉल एक अनुक्रम को पैरामीटर के रूप में लेता है, और एक अनुक्रम भी देता है।
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
print(type(l_test))
#>>> <class 'list'>
तो आप लौटाए गए कर्सर को अनुक्रमणिका द्वारा एक्सेस कर सकते हैं:
ret_cursor = self.__cursor.callproc("prc_get_some_data",[l_cur])[0]
या
l_test = self.__cursor.callproc("prc_get_some_data",[l_cur])
ret_cursor = l_test[0]
फिर आप लूप के लिए परिणाम को प्रिंट कर सकते हैं
for line in ret_cursor:
print line
या print ret_cursor.fetchall()
. के साथ , या pprint
. के साथ यदि आवश्यक हो तो उपकरण।
दस्तावेज़ीकरण
में आपने लिंक किया है, वापसी मान सीधे l_query
. पर अनपैक किया गया है और l_emp
:
l_query, l_emp = self.__cursor.callproc("PKG_HR.FIND_EMPLOYEES", [p_query, l_cur])
वैसे, आपको मुख्य कर्सर के समान विधि के साथ, अंत में लौटाए गए कर्सर को बंद करने की आवश्यकता हो सकती है:ret_cursor.close()
. अन्यथा यह कनेक्शन बंद नहीं किया जा सकता . के बारे में एक अपवाद फेंक सकता है ।