Secara umum, ini bukan desain yang sangat bagus-- menyimpan SQL dalam tabel dan menjalankannya secara dinamis menyebabkan segala macam masalah keamanan dan pemeliharaan.
Mungkin saja (meskipun sudah terlambat pada hari Jumat yang dimulai terlalu dini bagi saya untuk mencoba mencari tahu) untuk melakukan kueri XML yang sangat keren di sepanjang baris kueri ini yang menjalankan hitungan(*) terhadap setiap tabel dalam skema yang akan melakukan ini semua dalam satu permintaan.
Namun, untuk sebagian besar programmer, pendekatan yang lebih sederhana adalah mengulang kueri, menjalankannya satu per satu, dan menyimpan hasilnya di suatu tempat. Kemungkinan variabel lokal akan ditambahkan ke kumpulan hitungan, misalnya.
FOR q IN (SELECT sql_text FROM query_table)
LOOP
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM (' || q.sql_text || ')'
INTO some_local_variable;
<<do something with the local variable>>
END LOOP;
Karena Anda mencoba membuat tampilan, Anda bisa mengambil logika ini dan memasukkannya ke dalam fungsi tabel pipa. Anda akan melakukan PIPE ROW
untuk mengembalikan data dalam loop. Tampilan Anda kemudian dapat dibuat di atas fungsi tabel pipelined.