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

Apakah menggunakan SELECT di dalam fungsi tabel PL/SQL pipelined diperbolehkan?

  1. biasanya pembatasan DML hanya menyangkut pernyataan modifikasi (UPDATE, DELETE ...) jadi SELECT harus OK. Saya akan mencoba menemukan pernyataan spesifik dari Oracle.

  2. Tampilan akan menjadi alat pertama Anda untuk memodulasi kueri yang umum digunakan.

  3. Fungsi memiliki kelemahan dibandingkan tampilan:jika dipanggil dari SELECT lain, mereka tidak dieksekusi pada waktu yang sama dengan SELECT utama. Setiap panggilan ke SELECT konsisten tetapi karena SELECT ada dalam kode fungsi dan bukan di SQL utama, Anda dapat mengembalikan hasil yang tidak konsisten. Hal ini tidak mungkin dilakukan dengan tampilan dan sub-pilihan:jika pernyataan besar memanggil tampilan, tampilan dibuat pada waktu yang sama dengan kueri utama.

Perbarui :mengenai komentar Anda tentang kueri berparameter

Anda dapat membangun tampilan berparameter, yaitu tampilan yang bergantung pada variabel yang ditetapkan sebelum eksekusi. Berikut adalah contoh di AskTom menunjukkan bagaimana Anda dapat melakukannya dengan userenv('client_info') atau dbms_session.set_context .




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

  2. Menggabungkan Semua Kolom dari Setiap Catatan Menjadi Satu Entri

  3. Oracle PL/SQL:UTL_FILE.FCOPY Contoh

  4. Bagaimana cara memasukkan nilai ke tabel bersarang tanpa kehilangan data di tabel itu?

  5. Kesalahan Predikat dengan Oracle VPD/RLS