プロシージャの呼び出しは、パラメータとしてシーケンスを受け取り、シーケンスも返します。
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ループを使用して結果を出力できます
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()
を使用して、返されたカーソルを最後に閉じる必要がある場合があります。 。そうしないと、接続を閉じることができないという例外がスローされる可能性があります。 。