No creo que pueda escribir una consulta SQL simple con nombres de tablas dinámicos.
Puede escribir un procedimiento PL/SQL que use execute immediate
y devuelve un cursor o algo así; alguien preguntó sobre eso ayer
. Si solo está tratando de escribir esta consulta para interactuar con algunos datos, esa podría ser su mejor opción.
Además, puede modificarlo convirtiendo su procedimiento PL/SQL en una función segmentada , y luego podría llamarlo desde una consulta SQL usando TABLE()
.
Si fuera yo, consideraría crear un sinónimo (o una vista estándar que solo selecciona de las tablas con nombres dinámicos) y programar un trabajo para volver a crearlo cada vez que se crean nuevas tablas. Eso podría ser más simple que tratar con funciones canalizadas.