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



  • [oracle_br] Ta... 'Clodoaldo Vilela' clodoaldovil...@yahoo.com.br [oracle_br]
    • [oracle_b... jlchia...@yahoo.com.br [oracle_br]
      • RES: ... 'Clodoaldo Vilela' clodoaldovil...@yahoo.com.br [oracle_br]
        • R... jlchia...@yahoo.com.br [oracle_br]
          • ... 'Clodoaldo Vilela' clodoaldovil...@yahoo.com.br [oracle_br]
            • ... jlchia...@yahoo.com.br [oracle_br]
              • ... jlchia...@yahoo.com.br [oracle_br]
                • ... 'Clodoaldo Vilela' clodoaldovil...@yahoo.com.br [oracle_br]

Responder a