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

Jenis pengembalian kursor Oracle

Dari panduan konsep :

Ungkapan penting di sana adalah 'record-oriented'. Sintaks untuk deklarasi kursor eksplisit juga dengan jelas menunjukkan bahwa tipe yang dikembalikan harus berupa rowtype , yang didefinisikan sebagai:

Anda memintanya untuk mengembalikan tipe data dari satu kolom, bukan dari baris/catatan. Jika Anda tidak ingin menggunakan %ROWTYPE yang sudah ada kemudian Oracle menyediakan mekanisme untuk mendeklarasikan tipe record sebagai gantinya, seperti jawaban lain yang telah ditunjukkan.

Anda tampaknya mengeluh bahwa dokumentasi tidak mengatakan bahwa Anda tidak dapat menggunakan nilai skalar sebagai pengembalian. Itu juga tidak mengatakan bahwa Anda tidak dapat mengembalikan paket, atau tampilan, atau peran. Tidak perlu mencantumkan semua yang Anda tidak bisa lakukan, karena ini dengan jelas memberi tahu Anda apa yang Anda bisa lakukan, yaitu mengembalikan tipe yang mewakili baris.

Dalam kasus Anda, jenis baris itu hanya perlu berisi satu kolom, tetapi masih tidak ada alasan Anda harus dapat - atau mengharapkan Oracle - membiarkan Anda mengambil jalan pintas dalam skenario yang sangat terbatas itu. Tampaknya tidak masuk akal untuk menyediakan satu mekanisme yang konsisten - tidak terlalu sulit bagi Anda untuk mendeklarasikan record , sedangkan mereka membangun, menguji, dan memelihara jalur terpisah untuk ini akan menjadi overhead yang cukup besar.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Koneksi Oracle tidak aktif

  2. Dua gaji pertama di setiap departemen

  3. Cara Memformat Angka di Oracle

  4. Oracle SQL Query untuk mengambil Acara tertentu menggunakan kondisi tertentu di xpath?

  5. Mendapatkan nilai pengembalian fungsi PL/SQL melalui Hibernate