Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kembalikan prosedur tersimpan keluar variabel kursor di cx_Oracle

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 .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah TO_DATE dengan fungsi Oracle DBMS_SQL.EXECUTE

  2. Cara terbaik untuk melakukan penyisipan multi-baris di Oracle?

  3. Oracle PL/SQL:Bagaimana cara DEREF dari VARRAY REF?

  4. Ekspresi reguler pada Tanggal di Oracle

  5. Berikan Pilihan pada semua Tabel yang Dimiliki Oleh Pengguna Tertentu