Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Consultando um banco de dados Oracle com nomes de tabelas dinâmicas


Eu não acho que você possa escrever uma consulta SQL simples com nomes de tabelas dinâmicas.

Você pode escrever um procedimento PL/SQL que usa execute immediate e retorna um cursor ou algo assim; alguém perguntou sobre isso ontem . Se você está apenas tentando escrever essa consulta para interagir com alguns dados, essa pode ser sua melhor aposta.

Além disso, você pode modificar isso transformando seu procedimento PL/SQL em uma função em pipeline , e então você pode chamá-lo de uma consulta SQL usando TABLE() .

Se fosse eu, consideraria criar um sinônimo (ou uma exibição padrão que apenas seleciona das tabelas nomeadas dinamicamente) e agendar um trabalho para recriá-lo toda vez que novas tabelas forem criadas. Isso pode ser mais simples do que lidar com funções em pipeline.