Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leoprofessor

CREATE TABLE Teste AS SELECT * FROM

Recommended Posts

create table temp as SELECT cod_empresa, cod_unidade, cod_funcionario, (to_char(ref_fpag,'yyyy')), (to_char(ref_fpag,'mm')), num_pagamento, sal_atual_base, (to_char(dt_credito_pag,'yyyymmdd')), null, null, null, null, null FROM ADP.FICHAPAGTOS a, ADP.FUNCIONARIO b WHERE a.NUM_SEQ_SIST = b.NUM_SEQ_SIST AND a.ref_fpag BETWEEN '1/1/2000' AND '30/6/2004'GOSTARIA DE SABER PORQUE NÃO FUNCIONA NO PLSQL DEVELOPER ? O QUE ESTA ERRADO? QUERO CRIAR UMA TABELA TEMPORÁRIA COM ESSE SELECT E NÃO CONSIGO...ALGUEM ME AJUDE POR FAVOR. É URGENTE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

claro !!

 

nestes nulos, ou os retire ou de um nome para a coluna da tabela que está criando.

 

create table temp as SELECT cod_empresa,

cod_unidade,

cod_funcionario,

(to_char(ref_fpag,'yyyy')),

(to_char(ref_fpag,'mm')),

num_pagamento,

sal_atual_base,

(to_char(dt_credito_pag,'yyyymmdd')),

null col_a,

null col_b,

null col_c,

null col_d,

null col_e

FROM ADP.FICHAPAGTOS a, ADP.FUNCIONARIO b

WHERE a.NUM_SEQ_SIST = b.NUM_SEQ_SIST

AND a.ref_fpag BETWEEN '1/1/2000' AND '30/6/2004'

Compartilhar este post


Link para o post
Compartilhar em outros sites

um select não precisa ter as colunas de resultado nomeadas mas como você está criando uma tabela precisa dar um nome válido a todas as colunas desta .

 

Não atentei para o to_char !!

 

Caso a tabela já exista você pode fazer um

 

insert <table> as <select ...>

 

Assim :

 

create table temp as SELECT cod_empresa,

cod_unidade,

cod_funcionario,

(to_char(ref_fpag,'yyyy')) data_a,

(to_char(ref_fpag,'mm')) data_b,

num_pagamento,

sal_atual_base,

(to_char(dt_credito_pag,'yyyymmdd')) data_c,

null col_a,

null col_b,

null col_c,

null col_d,

null col_e

FROM ADP.FICHAPAGTOS a, ADP.FUNCIONARIO b

WHERE a.NUM_SEQ_SIST = b.NUM_SEQ_SIST

AND a.ref_fpag BETWEEN '1/1/2000' AND '30/6/2004'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esqueceu de colocar os ALIAS nas primeiras colunas do seu SELECT.

 

create table temp as SELECT [COLOR=red]cod_empresa[/COLOR],[COLOR=red]cod_unidade[/COLOR],[COLOR=red]cod_funcionario[/COLOR],[COLOR=red](to_char(ref_fpag,'yyyy')) data_a[/COLOR],[COLOR=red](to_char(ref_fpag,'mm')) data_b[/COLOR],[COLOR=red]num_pagamento[/COLOR],[COLOR=red]sal_atual_base[/COLOR],[COLOR=red](to_char(dt_credito_pag,'yyyymmdd')) data_c[/COLOR],[COLOR=red]null col_a[/COLOR],[COLOR=red]null col_b[/COLOR],[COLOR=red]null col_c[/COLOR],[COLOR=red]null col_d[/COLOR],[COLOR=red]null col_e[/COLOR]FROM ADP.FICHAPAGTOS a, ADP.FUNCIONARIO bWHERE a.NUM_SEQ_SIST = b.NUM_SEQ_SISTAND a.ref_fpag BETWEEN '1/1/2000' AND '30/6/2004'

Essas colunas precisam saber qual sua origem? As colunas que estão em vermelho.

 

Isso já irá resolver seu problema.

 

Exemplo.

 

a.coluna, a.colunab, a.colunac, b.coluna e etc...

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.