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

Mengembalikan 'tabel' (tanpa menentukan nama kolom sebelumnya) dari fungsi PL/SQL

Saya akan sangat curiga bahwa Anda tidak ingin melakukan ini. Membuat tipe objek secara dinamis dan membangun fleksibilitas semacam ini di PL/SQL hampir selalu merupakan resep kehancuran. Anda akhirnya akan menulis SQL dinamis yang sangat rumit di mana-mana (baik di pemanggil dan di fungsi Anda) yang akan membuat kode Anda jauh, jauh lebih sulit untuk dibaca dan di-debug. Ketika kode Anda menjadi sekompleks itu, Anda lebih baik menulis kerangka kerja yang menghasilkan kode tetapi itu membuat Anda menghadapi masalah yang jauh lebih sulit dalam menulis kode yang menghasilkan kode yang memecahkan masalah Anda daripada hanya menulis kode yang memecahkan masalah Anda.

Yang mengatakan, jika Anda benar-benar bertekad, adalah mungkin untuk membangun fungsi tabel pipelined sepenuhnya generik . Itu melibatkan beberapa sihir yang mendalam dan mendalam menggunakan kerangka Oracle Data Cartridge. Ini cukup keren. Tetapi jumlah orang yang secara realistis dapat mendukung dan memperluas kode semacam ini sangat sedikit.

Dengan sihir yang sedikit lebih sedikit (tapi tetap saja, jauh lebih banyak daripada yang saya sarankan untuk hampir semua organisasi), Anda dapat membangun fungsi tabel pipa fleksibel yang bergantung pada pengembalian tipe dari hierarki tipe yang telah ditentukan sebelumnya. Itu lebih mungkin untuk didukung tetapi mengasumsikan bahwa Anda dapat membangun hierarki tipe Anda di depan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ORA_HASH Oracle acak?

  2. SQL Oracle Menghitung Cluster

  3. Kesalahan SQLPlus AUTO_INCREMENT

  4. Mendapatkan jumlah nilai dari Tabel Oracle

  5. Mengonversi nilai mentah Oracle berukuran kecil ke tipe lain