A tabela é criada no momento em que o usuário faz a consulta, com a seguinte nomenclatura “TABELA_ANALIT_”, concatenado com o código do usuário que fez a consulta, a questão é que eu preciso saber as colunas dessa tabela na PROCEDURE, não sei se consegue entender.
De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: sexta-feira, 15 de fevereiro de 2019 11:46 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Re: Tabela Vári avel Continuo sem entender completamente (em especial essa expressão "objeto tabela", que até onde sei Não Faz Sentido NENHUM no contexto do RDBMS Oracle), mas pelo jeito da coisa, TALVEZ o que vc queira é ter um TABLE ** TYPE ** (ie, um TYPE baseado numa tabela) e NÃO 'criar uma tabela a partir da variável', mas COM o ponto adicional que a tabela a ser referenciada é DINÂMICA, vc não sabe o nome dela, sim sim ?? Se for isso, não há um jeito fácil de se fazer isso, um TYPE (seja ROWTYPE, seja TYPE simples) ** tem ** que ser baseado numa tabela ou numa coluna ou num cursor PREDEFINIDO e CONHECIDO, ok ?? Uma alternativa poe ser vc criar um CURSOR SQL dinâmico e basear teu TYPE nele... E sempre, quando se fala em SQL dinâmico, vc tem várias alternativas, a mais flexível/adequada seria o DBMS_SQL, veja https://stackoverflow..com/questions/26549823/rowtype-variable-from-table-name e https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9525670000346741460 para alguns exemplos... ==> Porém, TENHO que frisar : esse negócio de sair criando tabelas on-the-fly NÃO É UMA BOA PRÁTICA no RDBMS Oracle : além da DIFICULDADE/COMPLEXIDADE de ter que ficar usando SQL dinâmico, como eu disse antes vc FACILMENTE pode ter problemas de performance por falta de estatísticas e/ou plano gerado inadequadamente - o CORRETO é vc criar a tabela uma só vez antes de começar a codificar, já com TODAS as colunas eventualmente necessárias, aí os programas SEMPRE usam essa tabela já conhecida... []s Chiappa