Non penso che tu possa scrivere una semplice query SQL con nomi di tabelle dinamici.
È possibile scrivere una procedura PL/SQL che utilizzi execute immediate
e restituisce un cursore o qualcosa del genere; qualcuno l'ha chiesto proprio ieri
. Se stai solo cercando di scrivere questa query per interagire con alcuni dati, potrebbe essere la soluzione migliore.
Inoltre, puoi modificarlo trasformando la tua procedura PL/SQL in una funzione pipeline , e quindi puoi chiamarlo da una query SQL usando TABLE()
.
Se fossi in me, prenderei in considerazione la creazione di un sinonimo (o una vista standard che seleziona semplicemente dalle tabelle con nome dinamico) e la pianificazione di un lavoro per ricrearlo ogni volta che vengono create nuove tabelle. Potrebbe essere più semplice che gestire le funzioni pipeline.