Re: [oracle_br] Re: Problemas com SELECT em tabela importada.

2005-12-06 Por tôpico Fernando Franquini
Valeu a força.

sem mais,
capin

On 12/6/05, Marcio Portes <[EMAIL PROTECTED]> wrote:
> E para evitar as as aspas voce pode renomear as colunas.
>
> alter table versao rename column "Versao" to versao;
>
> Ou então renomear todas.
>
> declare
>   l_stmtlong;
> begin
>   for x in ( select column_name
>from user_tab_columns
>   where table_name = 'VERSAO' )
>   loop
>  l_stmt := 'alter table versao rename column '||
> x.column_name ||' to '|| upper(x.column_name) ;
>  dbms_output.put_line( l_stmt );
>  -- execute immediate ( l_stmt );
>   end loop;
> end;
> /
>
> Teste o script acima e descomente a linha do execute immediate se
> quiser mesmo renomear.
>
>
>
> --- Em oracle_br@yahoogrupos.com.br, Fernando Franquini
> <[EMAIL PROTECTED]> escreveu
> > Sim sim ivanrs!!
> > Eu confundi, mas o que tu escreveu ajutou, me liguei apos enviar o
> emai.
> > Relaxa ae que foi mal! :D
> > Mas ta funcionando as paradas com as ASPAS DUPLAS!
> >
> > Obrigado ;)
> >
> > sem mais,
> > capin
> >
> > On 12/6/05, Ivan Ricardo Schuster <[EMAIL PROTECTED]> wrote:
> > > Ta Capin,
> > >
> > > Se voce consultar assim também aparece a mesma coisa...
> > >
> > > SQL> select 'Versao' from dual;
> > >
> > > 'VERSA
> > > --
> > > Versao
> > >
> > > Voce está definindo que pra cada linha, quer mostrar a string
> fixa 'Versao',
> > > qualquer que seja o conteúdo da tua tabela, acho que não é isso
> que voce
> > > quer... Tens que usar aspas duplas pra definir o nome da coluna
> > >
> > > []
> > > Ivan
> > >
> > > -Mensagem original-
> > > De: oracle_br@yahoogrupos.com.br
> [mailto:[EMAIL PROTECTED] Em
> > > nome de Fernando Franquini
> > > Enviada em: terça-feira, 6 de dezembro de 2005 09:18
> > > Para: oracle_br@yahoogrupos.com.br
> > > Assunto: Re: [oracle_br] Problemas com SELECT em tabela importada.
> > >
> > > Marcio,
> > >
> > > SQL> select 'Versao' from T0085.VERSAO;
> > >
> > > 'VERSA
> > > --
> > > Versao
> > >
> > > Funcionou.
> > >
> > > obrigadoo!!
> > >
> > > sem mais,
> > > capin
> > >
> > > On 12/6/05, Marcio Portes <[EMAIL PROTECTED]> wrote:
> > > > Versao
> > > > Modificacoes
> > > >
> > > > Está aparentando problema de acento não? Ou os nomes das
> colunas foram
> > > migrados entre " " com letra minúscula.
> > > > Cheque na view dba_tab_columns o nome real destas colunas.
> > > > Por exemplo:
> > > >
> > > > [EMAIL PROTECTED]> create table
> > > >2  versao ( "Versao" int, "Modificacoes" varchar2(10) );
> > > >
> > > > Table created.
> > > >
> > > > [EMAIL PROTECTED]> insert into versao values (10201, null );
> > > >
> > > > 1 row created.
> > > >
> > > > [EMAIL PROTECTED]> select * from versao;
> > > >
> > > > Versao Modificaco
> > > > - --
> > > >  10201
> > > >
> > > > 1 row selected.
> > > >
> > > > [EMAIL PROTECTED]> select Versao from versao;
> > > > select Versao from versao
> > > > *
> > > > ERROR at line 1:
> > > > ORA-00904: "VERSAO": invalid identifier
> > > >
> > > >
> > > > [EMAIL PROTECTED]> select column_name from dba_tab_columns
> > > >2   where table_name = 'VERSAO'
> > > >3  /
> > > >
> > > > COLUMN_NAME
> > > > --
> > > > Versao
> > > > Modificacoes
> > > >
> > > > 2 rows selected.
> > > >
> > > >
> > > > Fernando Franquini wrote:
> > > > > Bom dia senhores,
> > > > >
> > > > > Eu fiz uma exportacao de umas tabelas do access para o oracle
> 10g.
> > > > > A principio a exportacao funcionou, nao ocorreram erros. Fiz
> via odbc.
> > > > > Consigo ver a descricao da tabela no oracle, sem problemas.
> > > > >
> > > > > SQL> desc T0085.VERSAO;
> > > > >  NameNull? Type
> > > > >  ---  
> > > > >  Versao   VARCHAR2(50)
> > > > >  Modificacoes  VARCHAR2(255)
> > > > >
> > > > > Consigo listar * da tabela.
> > > > >
> > > > > SQL> select * from T0085.VERSAO;
> > > > >
> > > > > Versao  Modificacoes
> > > > >  -
> ---
> > > > > 1.0.0.2433
> > > > >
> > > > > Mas eu nao consigo listar apenas um campo, dois, ou ate mesmo
> todos,
> > > > > se eu escrever os nomes das colunas.
> > > > >
> > > > > SQL> select Versao from T0085.VERSAO;
> > > > > select Versao from T0085.VERSAO
> > > > >   *
> > > > > ERRO na linha 1:
> > > > > ORA-00904: "VERSAO": identificador inválido
> > > > >
> > > > > SQL> select Versao, Modificacoes from T0085.VERSAO;
> > > > > select Versao, Modificacoes from T0085.VERSAO
> > > > >*
> > > > > ERRO na linha 1:
> > > > > ORA-00904: "MODIFICACOES": identificador inválido
> > > > >
> > > > > Eu gostaria de saber o porque do problema e como posso
> resolve-lo, se
> > > > > vou ter que refazer a importacao, qual seria a maneira
> mais "correta"
> > > > > em faze-la!
> > > > >
> > > > > Oracle Database 10g Release 1

[oracle_br] Re: Problemas com SELECT em tabela importada.

2005-12-06 Por tôpico Marcio Portes
E para evitar as as aspas voce pode renomear as colunas.

alter table versao rename column "Versao" to versao;

Ou então renomear todas.

declare
  l_stmtlong;
begin
  for x in ( select column_name 
   from user_tab_columns 
  where table_name = 'VERSAO' )
  loop
 l_stmt := 'alter table versao rename column '|| 
x.column_name ||' to '|| upper(x.column_name) ;
 dbms_output.put_line( l_stmt );
 -- execute immediate ( l_stmt );
  end loop;
end;
/

Teste o script acima e descomente a linha do execute immediate se 
quiser mesmo renomear.



--- Em oracle_br@yahoogrupos.com.br, Fernando Franquini 
<[EMAIL PROTECTED]> escreveu
> Sim sim ivanrs!!
> Eu confundi, mas o que tu escreveu ajutou, me liguei apos enviar o 
emai.
> Relaxa ae que foi mal! :D
> Mas ta funcionando as paradas com as ASPAS DUPLAS!
> 
> Obrigado ;)
> 
> sem mais,
> capin
> 
> On 12/6/05, Ivan Ricardo Schuster <[EMAIL PROTECTED]> wrote:
> > Ta Capin,
> >
> > Se voce consultar assim também aparece a mesma coisa...
> >
> > SQL> select 'Versao' from dual;
> >
> > 'VERSA
> > --
> > Versao
> >
> > Voce está definindo que pra cada linha, quer mostrar a string 
fixa 'Versao',
> > qualquer que seja o conteúdo da tua tabela, acho que não é isso 
que voce
> > quer... Tens que usar aspas duplas pra definir o nome da coluna
> >
> > []
> > Ivan
> >
> > -Mensagem original-
> > De: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] Em
> > nome de Fernando Franquini
> > Enviada em: terça-feira, 6 de dezembro de 2005 09:18
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: Re: [oracle_br] Problemas com SELECT em tabela importada.
> >
> > Marcio,
> >
> > SQL> select 'Versao' from T0085.VERSAO;
> >
> > 'VERSA
> > --
> > Versao
> >
> > Funcionou.
> >
> > obrigadoo!!
> >
> > sem mais,
> > capin
> >
> > On 12/6/05, Marcio Portes <[EMAIL PROTECTED]> wrote:
> > > Versao
> > > Modificacoes
> > >
> > > Está aparentando problema de acento não? Ou os nomes das 
colunas foram
> > migrados entre " " com letra minúscula.
> > > Cheque na view dba_tab_columns o nome real destas colunas.
> > > Por exemplo:
> > >
> > > [EMAIL PROTECTED]> create table
> > >2  versao ( "Versao" int, "Modificacoes" varchar2(10) );
> > >
> > > Table created.
> > >
> > > [EMAIL PROTECTED]> insert into versao values (10201, null );
> > >
> > > 1 row created.
> > >
> > > [EMAIL PROTECTED]> select * from versao;
> > >
> > > Versao Modificaco
> > > - --
> > >  10201
> > >
> > > 1 row selected.
> > >
> > > [EMAIL PROTECTED]> select Versao from versao;
> > > select Versao from versao
> > > *
> > > ERROR at line 1:
> > > ORA-00904: "VERSAO": invalid identifier
> > >
> > >
> > > [EMAIL PROTECTED]> select column_name from dba_tab_columns
> > >2   where table_name = 'VERSAO'
> > >3  /
> > >
> > > COLUMN_NAME
> > > --
> > > Versao
> > > Modificacoes
> > >
> > > 2 rows selected.
> > >
> > >
> > > Fernando Franquini wrote:
> > > > Bom dia senhores,
> > > >
> > > > Eu fiz uma exportacao de umas tabelas do access para o oracle 
10g.
> > > > A principio a exportacao funcionou, nao ocorreram erros. Fiz 
via odbc.
> > > > Consigo ver a descricao da tabela no oracle, sem problemas.
> > > >
> > > > SQL> desc T0085.VERSAO;
> > > >  NameNull? Type
> > > >  ---  
> > > >  Versao   VARCHAR2(50)
> > > >  Modificacoes  VARCHAR2(255)
> > > >
> > > > Consigo listar * da tabela.
> > > >
> > > > SQL> select * from T0085.VERSAO;
> > > >
> > > > Versao  Modificacoes
> > > >  -
---
> > > > 1.0.0.2433
> > > >
> > > > Mas eu nao consigo listar apenas um campo, dois, ou ate mesmo 
todos,
> > > > se eu escrever os nomes das colunas.
> > > >
> > > > SQL> select Versao from T0085.VERSAO;
> > > > select Versao from T0085.VERSAO
> > > >   *
> > > > ERRO na linha 1:
> > > > ORA-00904: "VERSAO": identificador inválido
> > > >
> > > > SQL> select Versao, Modificacoes from T0085.VERSAO;
> > > > select Versao, Modificacoes from T0085.VERSAO
> > > >*
> > > > ERRO na linha 1:
> > > > ORA-00904: "MODIFICACOES": identificador inválido
> > > >
> > > > Eu gostaria de saber o porque do problema e como posso 
resolve-lo, se
> > > > vou ter que refazer a importacao, qual seria a maneira 
mais "correta"
> > > > em faze-la!
> > > >
> > > > Oracle Database 10g Release 10.2.0.1.0 - Production
> > > > Rodando em um Suse 9 Enterprise
> > > >
> > > > Obrigado a todos e tenham um otimo dia.
> > > >
> > > > sem mais,
> > > > capin
> > > >
> > > > --
> > > > ___
> > > > Fernando Franquini
> > > > Bacharel em Ciencias da Computacao - UFSC
> > > > - Capin - cel.: (48) 99024047
> > > > ICQ: 51149680
> > > > gtalk: [EMAIL PROTECTED]
> > > > Florian