Re: [oracle_br] Re: Problemas com SELECT em tabela importada.
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.
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