Jeg tror ikke, du kan skrive en almindelig SQL-forespørgsel med dynamiske tabelnavne.
Du kan skrive en PL/SQL-procedure, som bruger execute immediate
og returnerer en markør eller noget; nogen spurgte om det i går
. Hvis du bare prøver at skrive denne forespørgsel for at interagere med nogle data, er det måske det bedste bud.
Derudover kan du ændre det ved at omdanne din PL/SQL-procedure til en pipelinet funktion , og så kan du kalde det fra en SQL-forespørgsel ved hjælp af TABLE()
.
Hvis det var mig, ville jeg overveje at oprette et synonym (eller en standardvisning, som bare vælger fra de dynamisk navngivne tabeller) og planlægge et job for at genskabe det, hver gang nye tabeller oprettes. Det kan være enklere end at håndtere pipelinede funktioner.