Nie sądzę, że można napisać zwykłe zapytanie SQL z dynamicznymi nazwami tabel.
Możesz napisać procedurę PL/SQL, która używa execute immediate
i zwraca kursor lub coś; ktoś zapytał o to wczoraj
. Jeśli próbujesz napisać to zapytanie tylko w celu interakcji z niektórymi danymi, może to być najlepsza opcja.
Ponadto możesz to zmienić, zmieniając procedurę PL/SQL w funkcję potokową , a następnie możesz wywołać go z zapytania SQL za pomocą TABLE()
.
Gdybym to był ja, rozważyłbym utworzenie synonimu (lub standardowego widoku, który po prostu wybiera z dynamicznie nazwanych tabel) i zaplanowanie zadania, aby odtworzyć je za każdym razem, gdy tworzone są nowe tabele. To może być prostsze niż zajmowanie się funkcjami potokowymi.