Oracle
 sql >> Database >  >> RDS >> Oracle

Interrogazione di un database Oracle con nomi di tabelle dinamiche

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.