[oracle_br] Tabela temporária
Alguém tem um exemplo de criação e manipulação de tabela temporária dentro de uma procedure?
[oracle_br] Tabela Váriavel
Eu tenho o seguinte código: Tem como criar uma tabela dessa variável? vcTabelaTemp := Trim(pUserNameConsWeb) || '.EL_CVISITAIMOB_ANALIT_' || pCdPessoaUsr; CREATE OR REPLACE PROCEDURE SP_CVISITAIMOB ( pCdPessoaUsrIN USUARIO.CDPESSOAUSR%TYPE , pUserNameConsWeb IN CHAR ) AS -- -- Variaveis de retorno -- vcMsg VARCHAR2(32767); vcTabelaVARCHAR2(500); vcProc VARCHAR2(500); -- -- Variaveis de trabalho -- vcTabelaBaseVARCHAR2(32767); BEGIN -- vcProc:= 'SP_CVISITAIMOB'; vcTabela := ''; vcMsg := 'Registro não processado com sucesso.'; -- -- Tabela Temporaria - Analitica -- IF pUserNameConsWeb IS NULL THEN -- RAISE_APPLICATION_ERROR(-2, 'Name ConsWeb não informado !'); -- END IF; -- vcTabelaTemp := Trim(pUserNameConsWeb) || '.EL_CVISITAIMOB_ANALIT_' || pCdPessoaUsr; -- EXCEPTION -- WHEN NO_DATA_FOUND THEN -- vcMsg := Trim(vcProc) || ':' || Trim(vcTabela) || ' - Dados N?o Cadastrados.' || ' Comando SQL --> ' || SubStr(vcSQL, 1, 400); -- -- Retorno -- RAISE_APPLICATION_ERROR(-2, vcMsg); -- END; /
[oracle_br] Tabela Fragmentada
Pessoal, Tenho uma tabela, que sofre muitos Updates/Inserts/Deletes, e gostaria de saber como posso estar fazendo uma manutenção nesta tabela afim de melhorar o desempenho nela? NUM_ROWS TABLE_NAME size (mb) actual_data (mb) wasted_space (mb) -- -- -- - 75886553 COM_NOTA_PRODUTO2255017948 4602 SQL> select blocks "Blocos Usados", 2 empty_blocks "Blocos Livres", 3 num_rows "Total de Linhas" 4 from user_tables 5 where table_name='COM_NOTA_PRODUTO'; Blocos Usados Blocos Livres Total de Linhas - - --- 28863852975886553 SQL> SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='COMD'; TABLESPACE_NAMEBLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE PREDICATE_EVALUATION ENCRYPTED COMPRESS_FOR -- -- -- --- --- --- -- -- - - - - - --- -- --- --- --- - COMD 8192 65536 1 2147483645 2147483645 65536 ONLINEPERMANENT LOGGING NOLOCAL SYSTEM NO AUTO DISABLEDNOT APPLY NO HOST NO Oracle Database Enterprise 11g - (Release 11.2.0.4) Grato, Ednilson Silva
Re: [oracle_br] Tabela Fragmentada
Boa Tarde Ednilson, Existe possibilidade de você particionar esta tabela em outros tablespaces? Isso já ajudaria a leitura e escrita feita pelo Oracle no SO. Segue abaixo, exemplo de implementação: http://www.fabioprado.net/2011/02/criando-tabelas-particionadas-para.html Att, Emerson S. Gaudêncio 2015-11-25 13:44 GMT-03:00 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br]: > > > Pessoal, > > Tenho uma tabela, que sofre muitos Updates/Inserts/Deletes, e gostaria de > saber como posso estar fazendo uma manutenção nesta tabela afim de melhorar > o desempenho nela? > > > > NUM_ROWS TABLE_NAME size (mb) actual_data (mb) wasted_space > (mb) > > -- -- -- - > > 75886553 COM_NOTA_PRODUTO2255017948 4602 > > > > SQL> select blocks "Blocos Usados", > > 2 empty_blocks "Blocos Livres", > > 3 num_rows "Total de Linhas" > > 4 from user_tables > > 5 where table_name='COM_NOTA_PRODUTO'; > > > > Blocos Usados Blocos Livres Total de Linhas > > - - --- > > 28863852975886553 > > > > SQL> SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='COMD'; > > > > TABLESPACE_NAMEBLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT > MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS > CONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE > PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE > PREDICATE_EVALUATION ENCRYPTED COMPRESS_FOR > > -- -- -- --- > --- --- -- -- - > - - - - --- > -- --- --- --- > - > > COMD 8192 > 65536 1 2147483645 2147483645 > 65536 ONLINEPERMANENT LOGGING NOLOCAL > SYSTEM NO AUTO > DISABLEDNOT APPLY NO HOST NO > > > > Oracle Database Enterprise 11g - (Release 11.2.0.4) > > > > Grato, > > Ednilson Silva > > >
RES: [oracle_br] Tabela Fragmentada
Boa Tarde Emerson, A principio não tem como particionar essa tabela, gostaria de fazer uma manutenção nesta tabela antes. Fiz um ALTER TABLE MOVE para outra tablespace, mas não consegui recuperar os 4GB, outra coisa seria recuperar os blocos livres Grato, Ednilson De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: quarta-feira, 25 de novembro de 2015 15:07 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela Fragmentada Boa Tarde Ednilson, Existe possibilidade de você particionar esta tabela em outros tablespaces? Isso já ajudaria a leitura e escrita feita pelo Oracle no SO. Segue abaixo, exemplo de implementação: http://www.fabioprado.net/2011/02/criando-tabelas-particionadas-para.html Att, Emerson S. Gaudêncio 2015-11-25 13:44 GMT-03:00 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br] <oracle_br@yahoogrupos.com.br>: Pessoal, Tenho uma tabela, que sofre muitos Updates/Inserts/Deletes, e gostaria de saber como posso estar fazendo uma manutenção nesta tabela afim de melhorar o desempenho nela? NUM_ROWS TABLE_NAME size (mb) actual_data (mb) wasted_space (mb) -- -- -- - 75886553 COM_NOTA_PRODUTO2255017948 4602 SQL> select blocks "Blocos Usados", 2 empty_blocks "Blocos Livres", 3 num_rows "Total de Linhas" 4 from user_tables 5 where table_name='COM_NOTA_PRODUTO'; Blocos Usados Blocos Livres Total de Linhas - - --- 28863852975886553 SQL> SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='COMD'; TABLESPACE_NAMEBLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUSCONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE PREDICATE_EVALUATION ENCRYPTED COMPRESS_FOR -- -- -- --- --- --- -- -- - - - - - --- -- --- --- --- - COMD 8192 65536 1 2147483645 2147483645 65536 ONLINEPERMANENT LOGGING NOLOCAL SYSTEM NO AUTO DISABLEDNOT APPLY NO HOST NO Oracle Database Enterprise 11g - (Release 11.2.0.4) Grato, Ednilson Silva
Re: RES: [oracle_br] Tabela Fragmentada
Boa tarde , você pode fazer um shrink dessa tabela ALTER TABLE table_name SHRINK SPACE CASCADE; Abs espero ter ajudado. Em qua, 25/11/15, 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br] <oracle_br@yahoogrupos.com.br> escreveu: Assunto: RES: [oracle_br] Tabela Fragmentada Para: oracle_br@yahoogrupos.com.br Data: Quarta-feira, 25 de Novembro de 2015, 15:43 Boa Tarde Emerson,A principio não tem como particionar essa tabela, gostaria de fazer uma manutenção nesta tabela antes. Fiz um ALTER TABLE MOVE para outra tablespace, mas não consegui recuperar os 4GB, outra coisa seria recuperar os blocos livres Grato,Ednilson De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: quarta-feira, 25 de novembro de 2015 15:07 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela Fragmentada Boa Tarde Ednilson, Existe possibilidade de você particionar esta tabela em outros tablespaces? Isso já ajudaria a leitura e escrita feita pelo Oracle no SO. Segue abaixo, exemplo de implementação:http://www.fabioprado.net/2011/02/criando-tabelas-particionadas-para.html Att,Emerson S. Gaudêncio 2015-11-25 13:44 GMT-03:00 'Ednilson Silva' ednilson.si...@jbs.com.br [oracle_br] <oracle_br@yahoogrupos.com.br>: Pessoal,Tenho uma tabela, que sofre muitos Updates/Inserts/Deletes, e gostaria de saber como posso estar fazendo uma manutenção nesta tabela afim de melhorar o desempenho nela? NUM_ROWS TABLE_NAME size (mb) actual_data (mb) wasted_space (mb)-- -- -- - 75886553 COM_NOTA_PRODUTO 22550 17948 4602 SQL> select blocks "Blocos Usados", 2 empty_blocks "Blocos Livres", 3 num_rows "Total de Linhas" 4 from user_tables 5 where table_name='COM_NOTA_PRODUTO'; Blocos Usados Blocos Livres Total de Linhas- - --- 2886385 29 75886553 SQL> SELECT * FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='COMD'; TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS MAX_SIZE PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE PREDICATE_EVALUATION ENCRYPTED COMPRESS_FOR-- -- -- --- --- --- -- -- - - - - - --- -- --- --- --- - COMD 8192 65536 1 2147483645 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NO HOST NO Oracle Database Enterprise 11g - (Release 11.2.0.4) Grato,Ednilson Silva #yiv7143255445 #yiv7143255445 -- #yiv7143255445ygrp-mkp { border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;} #yiv7143255445 #yiv7143255445ygrp-mkp hr { border:1px solid #d8d8d8;} #yiv7143255445 #yiv7143255445ygrp-mkp #yiv7143255445hd { color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;} #yiv7143255445 #yiv7143255445ygrp-mkp #yiv7143255445ads { margin-bottom:10px;} #yiv7143255445 #yiv7143255445ygrp-mkp .yiv7143255445ad { padding:0 0;} #yiv7143255445 #yiv7143255445ygrp-mkp .yiv7143255445ad p { margin:0;} #yiv7143255445 #yiv7143255445ygrp-mkp .yiv7143255445ad a { color:#ff;text-decoration:none;} #yiv7143255445 #yiv7143255445ygrp-sponsor #yiv7143255445ygrp-lc { font-family:Arial;} #yiv7143255445 #yiv7143255445ygrp-sponsor #yiv7143255445ygrp-lc #yiv7143255445hd { margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;} #yiv7143255445 #yiv7143255445ygrp-sponsor #yiv7143255445ygrp-lc .yiv7143255445ad { margin-bottom:10px;padding:0 0;} #yiv7143255445 #yiv7143255445actions { font-family:Verdana;font-size:11px;padding:10px 0;} #yiv7143255445 #yiv7143255445activity { background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;} #yiv7143255445 #yiv7143255445activity span { font-weight:700;} #yiv7143255445 #yiv7143255445activity span:first-child { text-transform:uppercase;} #yiv7143255445 #yiv7143255445activity span a { color:#5085b6;text-decoration:none;} #yiv7143255445 #yiv7143255445activity span span { color:#ff7900;} #yiv7143255445 #yiv7143255445activity span .yiv7143255445underline { text-decoration:un
Re: [oracle_br] Tabela Mutante
Obrigado, a solução encontrada foi via package mesmo... De: Fabio Prado fbifa...@gmail.com Para: oracle_br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Julho de 2013 23:31 Assunto: Re: [oracle_br] Tabela Mutante Jales, no link http://glufke.net/oracle/viewtopic.php?t=96 você encontrará a solução! []s Em 22 de julho de 2013 20:08, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Sim fábio, estou tentando colocar uma outra trigger (dessa vez after, numa tentativa de resolver a questão). Você tem alguma idéia? De: Fabio Prado fbifa...@gmail.com Para: oracle_br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Julho de 2013 19:52 Assunto: Re: [oracle_br] Tabela Mutante dentro da trigger você está tentando alterar dados da mesma tabela? Em 22 de julho de 2013 19:03, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ -- Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela Mutante
Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela Mutante
Cole o código do trigger aqui no e-mail. 2013/7/22 Jales Jose Moraes malphig...@yahoo.com.br ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela Mutante
dentro da trigger você está tentando alterar dados da mesma tabela? Em 22 de julho de 2013 19:03, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela Mutante
Sim fábio, estou tentando colocar uma outra trigger (dessa vez after, numa tentativa de resolver a questão). Você tem alguma idéia? De: Fabio Prado fbifa...@gmail.com Para: oracle_br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Julho de 2013 19:52 Assunto: Re: [oracle_br] Tabela Mutante dentro da trigger você está tentando alterar dados da mesma tabela? Em 22 de julho de 2013 19:03, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela Mutante
Jales, Porque você precisa fazer isso por trigger? Não da pra gravar o valor correto no inicio do processo? Na inserção do registro? Se não tiver jeito use o comando abaixo dentro da trigger que esta dando erro. pragma autonomous_transaction Pelo que você descreveu, fazer isso fica mais pra gambiarra. Um motivo pra você usar essa solução seria a impossibilidade de alterar o programa que usa a base. Alexandre 21 81990595 Em 22/07/2013 20:14, Jales Jose Moraes malphig...@yahoo.com.br escreveu: ** Sim fábio, estou tentando colocar uma outra trigger (dessa vez after, numa tentativa de resolver a questão). Você tem alguma idéia? De: Fabio Prado fbifa...@gmail.com Para: oracle_br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Julho de 2013 19:52 Assunto: Re: [oracle_br] Tabela Mutante dentro da trigger você está tentando alterar dados da mesma tabela? Em 22 de julho de 2013 19:03, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ -- Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela Mutante
Jales, no link http://glufke.net/oracle/viewtopic.php?t=96 você encontrará a solução! []s Em 22 de julho de 2013 20:08, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Sim fábio, estou tentando colocar uma outra trigger (dessa vez after, numa tentativa de resolver a questão). Você tem alguma idéia? De: Fabio Prado fbifa...@gmail.com Para: oracle_br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Julho de 2013 19:52 Assunto: Re: [oracle_br] Tabela Mutante dentro da trigger você está tentando alterar dados da mesma tabela? Em 22 de julho de 2013 19:03, Jales Jose Moraes malphig...@yahoo.com.brescreveu: ** Boa noite! Senhores estou tendo erro de tabela mutante da seguinte forma: Foi me passada uma nova regra onde ao inserir um novo registro, é para setar o registro antigo (update) com uma status 'N' e o novo registro com um status 'S'. Bom, fiz um cursor na trigger para localizar o registro antigo com base em uma número sequencial que é comum a ambos os registros, fiz o update e logo após o insert e então ganhei o erro abaixo: ORA-04091: a tabela SMS_FNDE.S_FINANC é mutante; talvez o gatilho/função não possa localizá-la ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' ORA-06512: em SMS.A_IUD, line 197 ORA-04088: erro durante a execução do gatilho 'SMS.A_IUD' Como resolver esta situação? [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ -- Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] -- Fábio Prado www.fabioprado.net Compartilhando conhecimentos e treinando profissionais em Bancos de Dados Oracle [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Tabela de estatísticas de registros no Oracle?
Bom dia pessoal, tudo bem? Estou com uma questão há 2 semanas tentando achar a resposta. Preciso monitorar o acesso do produto na base de dados para um projeto que estou fazendo. Para o banco Progress (um dos bancos que uso, além de Oracle e MSSQL) encontrei a tabela de sistema _UserTableStat. Esta tabela tem o que eu preciso que é a quantidade de registros lidos/alterados/criados/excluidos de cada tabela acessada por uma determinada sessão, por ex.: SELECT * FROM _UserTableStat. PID TABLE READ CREATE UPDATE DELETE - -- -- -- 0001 table 10 0 1 1 * Creio eu que o PID seja o equivalente ao SID do Oracle. Minha pergunta é se há algo semelhante assim no Oracle? Como posso obter estas informações? Tentei ver algumas v$, porém não encontrei alguma que tenha algo parecido com estas informações. Será que existe isso no Oracle, através de alguma tabela? Ou talvez via TRACE? Agradeço antecipadamente pela ajuda de todos. Abs, Rubens Dos Santos Filho
Re: [oracle_br] Tabela de estatísticas de registros no Oracle?
Para operações DML, no Oracle, existe a DBA_TAB_MODIFICATIONS que pode ter informações úteis ao que você precisa. Em 4 de abril de 2013 10:54, rubens_santosf rubens.sant...@gmail.comescreveu: ** Bom dia pessoal, tudo bem? Estou com uma questão há 2 semanas tentando achar a resposta. Preciso monitorar o acesso do produto na base de dados para um projeto que estou fazendo. Para o banco Progress (um dos bancos que uso, além de Oracle e MSSQL) encontrei a tabela de sistema _UserTableStat. Esta tabela tem o que eu preciso que é a quantidade de registros lidos/alterados/criados/excluidos de cada tabela acessada por uma determinada sessão, por ex.: SELECT * FROM _UserTableStat. PID TABLE READ CREATE UPDATE DELETE - -- -- -- 0001 table 10 0 1 1 * Creio eu que o PID seja o equivalente ao SID do Oracle. Minha pergunta é se há algo semelhante assim no Oracle? Como posso obter estas informações? Tentei ver algumas v$, porém não encontrei alguma que tenha algo parecido com estas informações. Será que existe isso no Oracle, através de alguma tabela? Ou talvez via TRACE? Agradeço antecipadamente pela ajuda de todos. Abs, Rubens Dos Santos Filho -- ***Fabrício Pedroso Jorge.* Administrador de Banco de Dados Oracle 11g Certified SQL Expert Oracle 11g Certified Associate Oracle 11g Certified Professional Linux Professional Institute Certified Level I (LPIC-I) certificacaodb.com.br *Resumo Profissional:* http://br.linkedin.com/in/fabriciojorge *Contatos:* + 55 91 88991116 skype: fabricio.pedroso.jorge fpjb...@gmail.com [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela de estatísticas de registros no Oracle?
SID é o nome do banco de dados.. PID no caso devia estar se referindo a process id.. mas progress, não sei.. a tabela dba_tab_modifications deve te ajudar, guarda algumas informações relevantes []s 2013/4/4 Fabricio Pedroso Jorge fpjb...@gmail.com Para operações DML, no Oracle, existe a DBA_TAB_MODIFICATIONS que pode ter informações úteis ao que você precisa. Em 4 de abril de 2013 10:54, rubens_santosf rubens.sant...@gmail.com escreveu: ** Bom dia pessoal, tudo bem? Estou com uma questão há 2 semanas tentando achar a resposta. Preciso monitorar o acesso do produto na base de dados para um projeto que estou fazendo. Para o banco Progress (um dos bancos que uso, além de Oracle e MSSQL) encontrei a tabela de sistema _UserTableStat. Esta tabela tem o que eu preciso que é a quantidade de registros lidos/alterados/criados/excluidos de cada tabela acessada por uma determinada sessão, por ex.: SELECT * FROM _UserTableStat. PID TABLE READ CREATE UPDATE DELETE - -- -- -- 0001 table 10 0 1 1 * Creio eu que o PID seja o equivalente ao SID do Oracle. Minha pergunta é se há algo semelhante assim no Oracle? Como posso obter estas informações? Tentei ver algumas v$, porém não encontrei alguma que tenha algo parecido com estas informações. Será que existe isso no Oracle, através de alguma tabela? Ou talvez via TRACE? Agradeço antecipadamente pela ajuda de todos. Abs, Rubens Dos Santos Filho -- ***Fabrício Pedroso Jorge.* Administrador de Banco de Dados Oracle 11g Certified SQL Expert Oracle 11g Certified Associate Oracle 11g Certified Professional Linux Professional Institute Certified Level I (LPIC-I) certificacaodb.com.br *Resumo Profissional:* http://br.linkedin.com/in/fabriciojorge *Contatos:* + 55 91 88991116 skype: fabricio.pedroso.jorge fpjb...@gmail.com [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela de estatísticas de registros no Oracle?
Apenas complementando. E preciso rodar o comando abaixo para q a DBA_TAB_MODIFICATIONS seja atualizada. EXEC DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO ; Em 04/04/2013 11:08, Fabricio Pedroso Jorge fpjb...@gmail.com escreveu: Para operações DML, no Oracle, existe a DBA_TAB_MODIFICATIONS que pode ter informações úteis ao que você precisa. Em 4 de abril de 2013 10:54, rubens_santosf rubens.sant...@gmail.com escreveu: ** Bom dia pessoal, tudo bem? Estou com uma questão há 2 semanas tentando achar a resposta. Preciso monitorar o acesso do produto na base de dados para um projeto que estou fazendo. Para o banco Progress (um dos bancos que uso, além de Oracle e MSSQL) encontrei a tabela de sistema _UserTableStat. Esta tabela tem o que eu preciso que é a quantidade de registros lidos/alterados/criados/excluidos de cada tabela acessada por uma determinada sessão, por ex.: SELECT * FROM _UserTableStat. PID TABLE READ CREATE UPDATE DELETE - -- -- -- 0001 table 10 0 1 1 * Creio eu que o PID seja o equivalente ao SID do Oracle. Minha pergunta é se há algo semelhante assim no Oracle? Como posso obter estas informações? Tentei ver algumas v$, porém não encontrei alguma que tenha algo parecido com estas informações. Será que existe isso no Oracle, através de alguma tabela? Ou talvez via TRACE? Agradeço antecipadamente pela ajuda de todos. Abs, Rubens Dos Santos Filho -- ***Fabrício Pedroso Jorge.* Administrador de Banco de Dados Oracle 11g Certified SQL Expert Oracle 11g Certified Associate Oracle 11g Certified Professional Linux Professional Institute Certified Level I (LPIC-I) certificacaodb.com.br *Resumo Profissional:* http://br.linkedin.com/in/fabriciojorge *Contatos:* + 55 91 88991116 skype: fabricio.pedroso.jorge fpjb...@gmail.com [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] TABELA NÃO APARECE NO EXP
Pessoal: Bom dia! Estou fazendo um exp em uma maquina Windows 2008 com Oracle 11gr2. A tabela está no banco, mas o exp não exporta a tabela conforme abaixo: A TABELA ESTÁ NO BANCO: Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as master SQL DESC ADPN Name Type Nullable Default Comments - --- DPNCODEMP NUMBER(2) DPNNUMERO NUMBER(9) DPNSERNOT VARCHAR2(3) DPNCODLAN VARCHAR2(1) DPNCODCAD NUMBER(7) DPNCODPRO NUMBER(4) DPNDESCR1 VARCHAR2(58) Y DPNDESCR2 VARCHAR2(58) Y DPNDESCR3 VARCHAR2(58) Y DPNDESCR4 VARCHAR2(58) Y DPNDESCR5 VARCHAR2(58) Y DPNDESCR6 VARCHAR2(58) Y SQL SELECT * FROM ALL_TABLES T WHERE T.OWNER = 'MASTER' AND T.TABLE_NAME = 'ADPN'; OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUSPCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTSMAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKSEMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LENAVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCESCACHE TABLE_LOCK SAMPLE_SIZELAST_ANALYZED PARTITIONED IOT_TYPETEMPORARY SECONDARYNESTED BUFFER_POOL FLASH_CACHE CELL_FLASH_CACHE ROW_MOVEMENT GLOBAL_STATSUSER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIESCOMPRESSION COMPRESS_FOR DROPPEDREAD_ONLY SEGMENT_CREATED RESULT_CACHE 1 MASTER ADPNUSERS VALID 10 1 255 65536 YES N0 0 0 0 0 0 0 0DEFAULT DEFAULT NENABLED 0 15/12/2012 11:25:51 NO NNNO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLEDYES DISABLEDDISABLED NO NO NO DEFAULT Comando usado para exportação: Exp master/senha file=nomedoarquivo.dmp owner=master log=exp.log LOG DE EXPORTAÇÃO Conectado a: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Exportação executada no conjunto de caracteres de WE8MSWIN1252 e no conjunto de caracteres de AL16UTF16 NCHAR Sobre exportar usuários especificados ... . exportando objetos e ações procedurais anteriores ao esquema . exportando os nomes da biblioteca de função externa para usuário MASTER . exportando sinônimos do tipo PÚBLICO . exportando sinônimos do tipo privado . exportando definições de tipos de objeto para usuário MASTER Sobre exportar objetos de MASTER ... . exportando links de banco de dados . exportando números de sequência . exportando definições de cluster . sobre exportar tabelas de MASTER ... via Caminho Convencional ... . . exportando tabela AAFX 84 linhas exportadas . . exportando tabela AAGT 9082 linhas exportadas . . exportando tabela AAGT_OLD 32 linhas exportadas . . exportando tabela ABCO 9 linhas exportadas . . exportando tabela ACAD 67788 linhas exportadas . . exportando tabela ACAT 7 linhas exportadas . . exportando tabela ACBR 3 linhas exportadas . . exportando tabela ACCB181 linhas exportadas . . exportando tabela ACCC182 linhas exportadas . . exportando tabela ACDF 59 linhas exportadas . . exportando tabela ACDS 3 linhas exportadas . . exportando tabela ACEC 5 linhas exportadas . . exportando tabela ACEU 2 linhas exportadas . . exportando tabela ACGF 1 linhas exportadas . . exportando tabela ACID 8960 linhas exportadas . . exportando tabela ACMV 2130
Re: [oracle_br] TABELA NÃO APARECE NO EXP
Marcelo, pode me informar se existe algum registro nesta tabela? já tentou utilizar o expdp para verificar se existe algum bug com o exp? No aguardo, Emerson Em 3 de março de 2013 10:19, Mauricio Roberto Maciel mauriciormac...@terra.com.br escreveu: ** Pessoal: Bom dia! Estou fazendo um exp em uma maquina Windows 2008 com Oracle 11gr2. A tabela está no banco, mas o exp não exporta a tabela conforme abaixo: A TABELA ESTÁ NO BANCO: Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as master SQL DESC ADPN Name Type Nullable Default Comments - --- DPNCODEMP NUMBER(2) DPNNUMERO NUMBER(9) DPNSERNOT VARCHAR2(3) DPNCODLAN VARCHAR2(1) DPNCODCAD NUMBER(7) DPNCODPRO NUMBER(4) DPNDESCR1 VARCHAR2(58) Y DPNDESCR2 VARCHAR2(58) Y DPNDESCR3 VARCHAR2(58) Y DPNDESCR4 VARCHAR2(58) Y DPNDESCR5 VARCHAR2(58) Y DPNDESCR6 VARCHAR2(58) Y SQL SELECT * FROM ALL_TABLES T WHERE T.OWNER = 'MASTER' AND T.TABLE_NAME = 'ADPN'; OWNER TABLE_NAME TABLESPACE_NAME CLUSTER_NAME IOT_NAME STATUS PCT_FREE PCT_USED INI_TRANS MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS LOGGING BACKED_UP NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE INSTANCES CACHE TABLE_LOCK SAMPLE_SIZE LAST_ANALYZED PARTITIONED IOT_TYPE TEMPORARY SECONDARY NESTED BUFFER_POOL FLASH_CACHE CELL_FLASH_CACHE ROW_MOVEMENT GLOBAL_STATS USER_STATS DURATION SKIP_CORRUPT MONITORING CLUSTER_OWNER DEPENDENCIES COMPRESSION COMPRESS_FOR DROPPED READ_ONLY SEGMENT_CREATED RESULT_CACHE 1 MASTER ADPN USERS VALID 10 1 255 65536 YES N 0 0 0 0 0 0 0 0 DEFAULT DEFAULT N ENABLED 0 15/12/2012 11:25:51 NO N N NO DEFAULT DEFAULT DEFAULT DISABLED NO NO DISABLED YES DISABLED DISABLED NO NO NO DEFAULT Comando usado para exportação: Exp master/senha file=nomedoarquivo.dmp owner=master log=exp.log LOG DE EXPORTAÇÃO Conectado a: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Exportação executada no conjunto de caracteres de WE8MSWIN1252 e no conjunto de caracteres de AL16UTF16 NCHAR Sobre exportar usuários especificados ... . exportando objetos e ações procedurais anteriores ao esquema . exportando os nomes da biblioteca de função externa para usuário MASTER . exportando sinônimos do tipo PÚBLICO . exportando sinônimos do tipo privado . exportando definições de tipos de objeto para usuário MASTER Sobre exportar objetos de MASTER ... . exportando links de banco de dados . exportando números de sequência . exportando definições de cluster . sobre exportar tabelas de MASTER ... via Caminho Convencional ... . . exportando tabela AAFX 84 linhas exportadas . . exportando tabela AAGT 9082 linhas exportadas . . exportando tabela AAGT_OLD 32 linhas exportadas . . exportando tabela ABCO 9 linhas exportadas . . exportando tabela ACAD 67788 linhas exportadas . . exportando tabela ACAT 7 linhas exportadas . . exportando tabela ACBR 3 linhas exportadas . . exportando tabela ACCB 181 linhas exportadas . . exportando tabela ACCC 182 linhas exportadas . . exportando tabela ACDF 59 linhas exportadas . . exportando tabela ACDS 3 linhas exportadas . . exportando tabela ACEC 5 linhas exportadas . . exportando tabela ACEU 2 linhas exportadas . . exportando tabela ACGF 1 linhas exportadas . . exportando tabela ACID 8960 linhas exportadas . . exportando tabela ACMV 2130 linhas exportadas . . exportando tabela ACOLS 11 linhas exportadas . . exportando tabela ACON 27 linhas exportadas . . exportando tabela ACON1 27 linhas exportadas . . exportando tabela ACPG 26 linhas exportadas . . exportando tabela ACPR 1 linhas exportadas . . exportando tabela ACRC 43960 linhas exportadas . . exportando tabela ACRP 15372 linhas exportadas . . exportando tabela ACTG 1 linhas exportadas . . exportando tabela ACUE 66693 linhas exportadas . . exportando tabela ACUE_OLD 184647 linhas exportadas . . exportando tabela ACUE_41 0 linhas exportadas . . exportando tabela ACUR 130 linhas exportadas . . exportando tabela ACUS 63279 linhas exportadas . . exportando tabela ACUS_OLD 131039 linhas exportadas . . exportando tabela ACXC 229 linhas exportadas . . exportando tabela ACXE 465 linhas exportadas . . exportando tabela ACXQ 162 linhas exportadas . . exportando tabela ADEM 2 linhas exportadas . . exportando tabela ADGE 120 linhas exportadas . . exportando tabela ADMO 4 linhas exportadas . . exportando tabela AEAP 275470 linhas exportadas . . exportando tabela AECF 40 linhas exportadas . . exportando tabela AEMP 37 linhas exportadas . . . . exportando sinônimos . exportando views . exportando procedimentos
[oracle_br] Tabela Externa
Olá pessoal, estou com uma dúvida.Quais as vantagens e desvantagens do uso de uma tabela externa. Obrigado!
Re: [oracle_br] Tabela Externa
Boa noite, Na minha palestra do guob 2010 eu comparei performance e outros aspectos. Da um olhada www.mufalani.com.br []'s Rodrigo Mufalani Oracle Ace member OCP/OCE Rac sent via my DROID :-) Fabiana Cavalcante fabianna_cr...@yahoo.com.br escreveu: Olá pessoal, estou com uma dúvida.Quais as vantagens e desvantagens do uso de uma tabela externa. Obrigado!
[oracle_br] Tabela com Long - Aumento de espaço em disco
Pessoal, Tenho um usuário no banco de dados dono de algumas tabelas de uma aplicação onde a software house mandou scripts com colunas long. Aleguei que a Oracle não recomenda o uso, mas mesmo assim criei o esquema pois os entendidos em informatica mas que são de outros departamentos compraram a aplicação sem consultar ninguém. O que está ocorrendo é que a tablespace está crescendo muito mais que o normal. Como posso verificar o que efetivamente está aumentando o consumo de espaço e onde fazer um shirink em alguma tabela ou alguém conhece algum outro procedimento para diminuir essa tableaspace? Dados Banco Oracle 10.2.0.3 Standard Edition Sistema operacional hp-ux 11 v1 Obrigado. Regis Bavaresco
Re: [oracle_br] Tabela com Long - Aumento de espaço em disco
Caro, Acho que pra você reorganizar a tabela, você só vai ter o export import para te ajudar. Nem dbms_redefinition pode ajudar nisso. Seria necessário então, exportar a tabela e reimportar usando o imp. Att. Marcos Fontana DBA Oracle 2009/9/15 regisbavaresco regisbavare...@yahoo.com.br Pessoal, Tenho um usuário no banco de dados dono de algumas tabelas de uma aplicação onde a software house mandou scripts com colunas long. Aleguei que a Oracle não recomenda o uso, mas mesmo assim criei o esquema pois os entendidos em informatica mas que são de outros departamentos compraram a aplicação sem consultar ninguém. O que está ocorrendo é que a tablespace está crescendo muito mais que o normal. Como posso verificar o que efetivamente está aumentando o consumo de espaço e onde fazer um shirink em alguma tabela ou alguém conhece algum outro procedimento para diminuir essa tableaspace? Dados Banco Oracle 10.2.0.3 Standard Edition Sistema operacional hp-ux 11 v1 Obrigado. Regis Bavaresco [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela em memória
Transforma essa consulta em uma function pipelined. --- Em ter, 17/2/09, Eduardo Abrantes de Souza eduardo.abran...@fgv.br escreveu: De: Eduardo Abrantes de Souza eduardo.abran...@fgv.br Assunto: [oracle_br] Tabela em memória Para: oracle_br@yahoogrupos.com.br Data: Terça-feira, 17 de Fevereiro de 2009, 9:12 Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_ inicial, centro_custo_ final, código_unidade order by centro_ccusto_ inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela em memória
Eric, Você fala disto? http://www.adp-gmbh.ch/ora/plsql/pipeline.html 2009/3/3 Eric Arantes kalang...@yahoo.com.br Transforma essa consulta em uma function pipelined. --- Em ter, 17/2/09, Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br escreveu: De: Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br Assunto: [oracle_br] Tabela em memória Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Data: Terça-feira, 17 de Fevereiro de 2009, 9:12 Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_ inicial, centro_custo_ final, código_unidade order by centro_ccusto_ inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela em memória
Não sei se é o caso do nosso amigo. Fazer select de uma function ao invés de uma tabela de banco? http://www.akadia.com/services/ora_pipe_functions.html http://christopherbeck.wordpress.com/tag/pipeline-function/ 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br Eric, Você fala disto? http://www.adp-gmbh.ch/ora/plsql/pipeline.html 2009/3/3 Eric Arantes kalang...@yahoo.com.br Transforma essa consulta em uma function pipelined. --- Em ter, 17/2/09, Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br escreveu: De: Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br Assunto: [oracle_br] Tabela em memória Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Data: Terça-feira, 17 de Fevereiro de 2009, 9:12 Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_ inicial, centro_custo_ final, código_unidade order by centro_ccusto_ inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tabela em memória
Estes são alguns artigos sobre o assunto jáq ue foi citado. http://www.furutani.com.br/category/pipelined-function/ 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br Não sei se é o caso do nosso amigo. Fazer select de uma function ao invés de uma tabela de banco? http://www.akadia.com/services/ora_pipe_functions.html http://christopherbeck.wordpress.com/tag/pipeline-function/ 2009/3/3 Júlio César Corrêa juliotubi...@yahoo.com.br Eric, Você fala disto? http://www.adp-gmbh.ch/ora/plsql/pipeline.html 2009/3/3 Eric Arantes kalang...@yahoo.com.br Transforma essa consulta em uma function pipelined. --- Em ter, 17/2/09, Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br escreveu: De: Eduardo Abrantes de Souza eduardo.abran...@fgv.brEduardo.Abrantes%40fgv.br Assunto: [oracle_br] Tabela em memória Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Data: Terça-feira, 17 de Fevereiro de 2009, 9:12 Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_ inicial, centro_custo_ final, código_unidade order by centro_ccusto_ inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] tabela sendo utilizada
Boa tarde, como saber se uma tabela está sendo usada no momento? Tem algum script para isto? Obrigada -- Elaine
[oracle_br] Tabela em memória
Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_inicial, centro_custo_final, código_unidade order by centro_ccusto_inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela em memória
Não entendi o que você quer. Bom dia, Em ambiente Oracle dar-se a entender que você que você quer pinar ,cache(ar)ou fixar os blocos na SGA(buffer cache).Sendo assim quando você executar uma seleção você buscará este dado na memória de preferência,sem precisar fazer leituras físicas. Agora como buscar dados sem linguagem SQL fazendo retrieve como? 2009/2/17 Eduardo Abrantes de Souza eduardo.abran...@fgv.br Caros amigos bom dia! Estou em um projeto de melhoria de performance de uma aplicação e me foi sugerido fazer a carga dos dados de uma tabela para memória e pesquisar os dados sem precisar ficar fazendo select. Eu fazia isso quando trabalhava com programação COBOL. No PL/SQL qual seria a melhor opção para tornar viável a seguinte operação: Carga dos dados da query abaixo para memória. Select centro_ccusto_inicial, centro_custo_final, código_unidade order by centro_ccusto_inicial; A query retorna 300 linhas. A chave de pesquisa será um valor de centro de custo que deverá estar dentro do intervalo dos retornados na query acima. O código_unidade é a informação desejada. Os intervalos são mutuamente exclusivos. Grande abraço a todos. [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] tabela de marcas e modelos de carros
Srs, alguém saberia me informar aonde posso conseguir(baixar) as tabelas e marcas e modelos de carros?? obrigado _ Conheça o Windows Live Spaces, a rede de relacionamentos do Messenger! http://www.amigosdomessenger.com.br/ [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] tabela de marcas e modelos de carros
Srs, alguém saberia me informar aonde posso conseguir(baixar) as tabelas e marcas e modelos de carros?? obrigado _ Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver offline. Conheça o MSN Mobile! http://mobile.live.com/signup/signup2.aspx?lc=pt-br [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] tabela externa
Amigos, Estou com construindo uma tabela externa mas esta gerando erro : ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error KUP-04063: unable to open log file COUNTRIES_EXT_1260_1200.log OS error The system cannot find the file specified. ORA-06512: at SYS.ORACLE_LOADER, line 19 - Meu arquivo chama-se RETORNO.TXT e não tem delimitador por é apenas um campo vou pegar esse campo e jogar na tabela.Vou mandar meu codigo se alguem puder me ajudar. ---cria diretorio ---Tabela EXTERNA ---Usada apenas para pegar o arquivo Retorno e atualizar a tabela do banco TEMPDETSPCR ---Apos alimentado a tabela TEMPDETSPCR a tabela EXT_TEMPDETSPCR é DROPADA --- create or replace directory DIR_EXT_TEMPDETSPC as 'c:\tmp\retorno'; ---cria tabela externa apontando para um arquivo, otimo para carga de arquivos no oracle. ---Nome da tabela : EXT_TEMPDETSPCR ---Campo da Tanela : EXT_CONTEUDO_DETALHE VARCHAR2(250) --- create table EXT_TEMPDETSPCR (EXT_CONTEUDO_DETALHE VARCHAR2(250)) organization external ( type oracle_loader default directory DIR_EXT_TEMPDETSPC access parameters (records delimited by newline fields ) location ('retorno.txt')) INSERT INTO crd.tempdetspcr (detalhe) SELECT ext_conteudo_detalhe FROM crd.ext_tempdetspcr; COMMIT; --DROP TABLE EXT_CONTEUDO_DETALHE; reject limit unlimited; Obrigado Elcio ... Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] tabela externa
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Oi Élcio. Não deu tempo de dar uma ajuda à tarde. Também estava enrolado com uma external table. No meu caso, o problema era o formato de entrada da data. Segue a minha. Adapte para o seu caso. Um abraço e boa sorte. drop table external; create table external ( nome varchar2(100), dt_nasc date ) organization external ( default directory tmpdir access parameters ( records delimited by newline fields terminated by '|' missing field values are null ( nome, dt_nasc date mask dd-mm- ) ) location ('external.txt') ) reject limit unlimited / select nome, to_char(dt_nasc, 'DD-MM- HH24:MI:SS') data from external; Ribeiro, Reginaldo Administrador de Bancos de Dados Oracle Certified Associate 10g - DBCom Brazil Consultoria em Tecnologia da Informação skype: rflribeiro mobile: 551192344290 fone: 551135225172 e-mail: rflribe...@dbcom.com.br site: http://www.dbcom.com.br Chave Pública: http://keyserver.noreply.org/pks/lookup?search=rflribeiro%40dbcom.com.brfingerprint=onop=index Elcio Francisco wrote: Amigos, Estou com construindo uma tabela externa mas esta gerando erro : ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error KUP-04063: unable to open log file COUNTRIES_EXT_1260_1200.log OS error The system cannot find the file specified. ORA-06512: at SYS.ORACLE_LOADER, line 19 -- Meu arquivo chama-se RETORNO.TXT e não tem delimitador por é apenas um campo vou pegar esse campo e jogar na tabela.Vou mandar meu codigo se alguem puder me ajudar. ---cria diretorio ---Tabela EXTERNA ---Usada apenas para pegar o arquivo Retorno e atualizar a tabela do banco TEMPDETSPCR ---Apos alimentado a tabela TEMPDETSPCR a tabela EXT_TEMPDETSPCR é DROPADA --- create or replace directory DIR_EXT_TEMPDETSPC as 'c:\tmp\retorno'; ---cria tabela externa apontando para um arquivo, otimo para carga de arquivos no oracle. ---Nome da tabela : EXT_TEMPDETSPCR ---Campo da Tanela : EXT_CONTEUDO_DETALHE VARCHAR2(250) --- create table EXT_TEMPDETSPCR (EXT_CONTEUDO_DETALHE VARCHAR2(250)) organization external ( type oracle_loader default directory DIR_EXT_TEMPDETSPC access parameters (records delimited by newline fields ) location ('retorno.txt')) INSERT INTO crd.tempdetspcr (detalhe) SELECT ext_conteudo_detalhe FROM crd.ext_tempdetspcr; COMMIT; --DROP TABLE EXT_CONTEUDO_DETALHE; reject limit unlimited; Obrigado Elcio ... !-- #ygrp-mkp{ border: 1px solid #d8d8d8; font-family: Arial; margin: 14px 0px; padding: 0px 14px; } #ygrp-mkp hr{ border: 1px solid #d8d8d8; } #ygrp-mkp #hd{ color: #628c2a; font-size: 85%; font-weight: bold; line-height: 122%; margin: 10px 0px; } #ygrp-mkp #ads{ margin-bottom: 10px; } #ygrp-mkp .ad{ padding: 0 0; } #ygrp-mkp .ad a{ color: #ff; text-decoration: none; } -- !-- #ygrp-sponsor #ygrp-lc{ font-family: Arial; } #ygrp-sponsor #ygrp-lc #hd{ margin: 10px 0px; font-weight: bold; font-size: 78%; line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad{ margin-bottom: 10px; padding: 0 0; } -- !-- #ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family: Georgia; } #ygrp-text p{ margin: 0 0 1em 0; } #ygrp-tpmsgs{ font-family: Arial; clear: both; } #ygrp-vitnav{ padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0; } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both; margin: 25px 0; white-space:nowrap; color: #666; text-align: right; } #ygrp-actbar .left{ float: left; white-space:nowrap; } .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana; font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana; font-size: 77%; border-top: 1px solid #666; padding: 5px 0; } #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-reco { margin-bottom: 20px; padding: 0px; } #ygrp-reco #reco-head { font-weight: bold; color: #ff7900; } #reco-grpname{ font-weight: bold; margin-top: 10px; } #reco-category{ font-size: 77%; } #reco-desc{ font-size: 77%; } #ygrp-vital{ background-color: #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold; color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding: 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none; clear: both; border: 1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight: bold; color: #ff7900; float: right; width: 2em; text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{ font-weight: bold; } #ygrp-vital a{
[oracle_br] Tabela Externa
Amigos, Estou criando uma tabela externa e esta gerando o erro ORA-29913 : ERRO AO EXECUTAR CHAMADA ODCIEXTTABLEOPEN ORA-29400 : ERRO NO CARTUCHO DE DADOS Alguem ja viu esse erro??? Obrigado Elcio Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] tabela particionada
Alguem teria algum exemplo de particionamento de tabela em três´ou mais níveis?? tipo: estado,ano,mes obrigado _ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] tabela particionada
Boa tarde, Particionamento? Por estado(UF) você teria que particionar pelo método List. Neste link o do Imasters, Rodrigo Almeida dá alguns exemplos dos métodos disponíveis. http://imasters.uol.com.br/artigo/4010/oracle/tabela_particionada_-_metodo_list_partition/ Por mês/data teria que ser por Range.Um exemplo simples de criação CREATE TABLE LABJ.LOJA ( DATA_VENDA DATE NOT NULL, CD_LOJA VARCHAR2(10) NOT NULL, QTD_VENDA NUMBER NOT NULL, ) PARTITION BY RANGE (DATA_VENDA) ( PARTITION PT_200801 VALUES LESS THAN (TO_DATE('20080201','MMDD')) TABLESPACE TBS_LAB01 ); Você pode usar um método composto como RANGE-LIST. Espero que ajude. Flw, 2008/12/9 orfeu lima [EMAIL PROTECTED] Alguem teria algum exemplo de particionamento de tabela em três´ou mais níveis?? tipo: estado,ano,mes obrigado __ Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o Messenger! É GRÁTIS! http://www.msn.com.br/emoticonpack [As partes desta mensagem que não continham texto foram removidas] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela temporária
Pessoal... Gostaria de saber se no oracle existe o conceito de tabelas temporárias por session, ou seja: assim que um usuário se autenticar automaticamente essa tabela é criada e quando a sessão é encerrada automaticamente a tabela é eliminada. -- Atenciosamente Francisco Porfirio Ribeiro Neto [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela temporária
Faça uma trigger de logon. E outra de logoff. 2008/11/20 francisco porfirio [EMAIL PROTECTED] Pessoal... Gostaria de saber se no oracle existe o conceito de tabelas temporárias por session, ou seja: assim que um usuário se autenticar automaticamente essa tabela é criada e quando a sessão é encerrada automaticamente a tabela é eliminada. -- Atenciosamente Francisco Porfirio Ribeiro Neto [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Res: [oracle_br] Tabela temporária
Francisco, No Oracle a tabela temporária é um pouco diferente. A tabela é criada uma única vez como temporária, após isso, o que é descartado no logoff são os dados. Desta maneira dentro do seu programa você só precisa referenciar a tabela, inserindo dados, alterando, selecionando e removendo. Quando o usuário se desconectar estes são descartados. E cada conexão enxerga somente os dados inseridos e alterados por ela. Pode-se criar índices nestas tabelas também. Acredito que esta seja uma solução melhor que a criação da tabela no login e remoção no logoff, até porque para cada conexão o nome gerado deve ser diferente (se a tabela for ser criada no mesmo esquema). Utilize a seguinte sintaxe para criar esta tabela: CREATE GLOBAL TEMPORARY TABLE nome (definicao das colunas) ON COMMIT PRESERVE ROWS; Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: Eduardo [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Quinta-feira, 20 de Novembro de 2008 10:03:36 Assunto: Re: [oracle_br] Tabela temporária Faça uma trigger de logon. E outra de logoff. 2008/11/20 francisco porfirio francisco.porfirio@ gmail.com Pessoal... Gostaria de saber se no oracle existe o conceito de tabelas temporárias por session, ou seja: assim que um usuário se autenticar automaticamente essa tabela é criada e quando a sessão é encerrada automaticamente a tabela é eliminada. -- Atenciosamente Francisco Porfirio Ribeiro Neto [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela temporária
Existe o conceito de tabela temporária onde os registros são temporários e não a estrutura da tabela em si. Esses registros podem ser persistentes durante uma sessão ou durante uma transação. Procure por CREATE GLOBAL TEMPORARY TABLE nas documentações da Oracle... Eduardo escreveu: Faça uma trigger de logon. E outra de logoff. 2008/11/20 francisco porfirio [EMAIL PROTECTED] mailto:francisco.porfirio%40gmail.com Pessoal... Gostaria de saber se no oracle existe o conceito de tabelas temporárias por session, ou seja: assim que um usuário se autenticar automaticamente essa tabela é criada e quando a sessão é encerrada automaticamente a tabela é eliminada. -- Atenciosamente Francisco Porfirio Ribeiro Neto [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela temporária
Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas]
Res: [oracle_br] Tabela temporária
Jose, Bom dia. Voce ja tentou utilizar uma tablespace temporaria? Att, Emerson M. Rocha Mobile:(11) 9511-8753 E-Mail: [EMAIL PROTECTED] De: José Costacurta [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br; [EMAIL PROTECTED] Enviadas: Sexta-feira, 14 de Novembro de 2008 10:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Res: [oracle_br] Tabela temporária
José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br; [EMAIL PROTECTED] Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela temporária
Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ; [EMAIL PROTECTED] mailto:OraOracle%40yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] Tabela temporária
Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br mailto:jose_costacurta%40yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ; [EMAIL PROTECTED] mailto:OraOracle%40yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar “tabelas virtuais” em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela “suma”. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Res: RES: [oracle_br] Tabela temporária
José, Para criá-la dentro de uma procedure você deve utilizar o comando EXECUTE IMMEDIATE. Mas não acho que você deva criar esta tabela numa procedure (não é uma boa prática de programação). Você pode criá-la (uma vez) e todas as vezes que você precisar armazenar dados temporários nela, bastaria referenciá-la nos seus DMLs. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:31:34 Assunto: RES: [oracle_br] Tabela temporária Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br ; [EMAIL PROTECTED] os.com.br mailto:OraOracle% 40yahoogrupos. com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
RES: RES: [oracle_br] Tabela temporária
Legal, entendi. Qual a diferença então entre criar uma tabela desse tipo e criar uma tabela de verdade? Eu pensei que tabela temporária sumisse quando o processo acabasse ou a sessão Essa tabela vai ter muitos registros, não seria melhor eu criar uma tabela de verdade para poder indexá-la? Valeu. Abraço. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:53 Para: oracle_br@yahoogrupos.com.br Assunto: Res: RES: [oracle_br] Tabela temporária José, Para criá-la dentro de uma procedure você deve utilizar o comando EXECUTE IMMEDIATE. Mas não acho que você deva criar esta tabela numa procedure (não é uma boa prática de programação). Você pode criá-la (uma vez) e todas as vezes que você precisar armazenar dados temporários nela, bastaria referenciá-la nos seus DMLs. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:31:34 Assunto: RES: [oracle_br] Tabela temporária Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br ; [EMAIL PROTECTED] os.com.br mailto:OraOracle% 40yahoogrupos. com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] Tabela temporária
Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED] Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.brjose_costacurta%2540yahoo.com.br mailto:jose_costacurta%40yahoo.com.brjose_costacurta%2540yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br ; [EMAIL PROTECTED] mailto:OraOracle%40yahoogrupos.com.brOraOracle%2540yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.brOraOracle%2540yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]
RES: RES: [oracle_br] Tabela temporária
Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED] mailto:yahoo%40lrezende.eti.br Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br mailto:jose_costacurta%40yahoo.com.brjose_costacurta%2540yahoo.com.br mailto:jose_costacurta%40yahoo.com.brjose_costacurta%2540yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br ; [EMAIL PROTECTED] mailto:OraOracle%40yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.brOraOracle%2540yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.brOraOracle%2540yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br
Re: RES: [oracle_br] Tabela temporária
Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab.last loop dbms_output.put_line(tab(i).num1 || ' ' || tab(i).num2); end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta [EMAIL PROTECTED] Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED]yahoo%40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED]jose_costacurta%40yahoo.com.br mailto:jose_costacurta%40yahoo.com.br jose_costacurta%2540yahoo.com.br mailto:jose_costacurta%40yahoo.com.brjose_costacurta%2540yahoo.com.br jose_costacurta%2540yahoo.com.br mailto:jose_costacurta%40yahoo.com.br jose_costacurta%2540yahoo.com.br jose_costacurta%2540yahoo.com.br Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br ; [EMAIL PROTECTED] OraOracle%40yahoogrupos.com.br mailto: OraOracle%40yahoogrupos.com.br OraOracle%2540yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.br OraOracle%2540yahoogrupos.com.br OraOracle%2540yahoogrupos.com.br mailto:OraOracle%40yahoogrupos.com.brOraOracle%2540yahoogrupos.com.br OraOracle%2540yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06
Res: RES: RES: [oracle_br] Tabela temporária
José, A diferença é que uma tabela normal deve ser associada a um segmento do tipo tabela em alguma tablespace permamente. Uma tabela temporária salva seus dados na tablespace temporária, com isso você não possui problemas relacionados a locks, geração de log, geração de dados de undo, etc. E o mais bonito da coisa é que você pode criar índices numa tabela temporária (bacana demais). A tabela não pode estar sendo usada se for necessário criar índices (crie os índices logo após a criação da tabela). Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:57:22 Assunto: RES: RES: [oracle_br] Tabela temporária Legal, entendi. Qual a diferença então entre criar uma tabela desse tipo e criar uma tabela de verdade? Eu pensei que tabela temporária sumisse quando o processo acabasse ou a sessão Essa tabela vai ter muitos registros, não seria melhor eu criar uma tabela de verdade para poder indexá-la? Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:53 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: RES: [oracle_br] Tabela temporária José, Para criá-la dentro de uma procedure você deve utilizar o comando EXECUTE IMMEDIATE. Mas não acho que você deva criar esta tabela numa procedure (não é uma boa prática de programação). Você pode criá-la (uma vez) e todas as vezes que você precisar armazenar dados temporários nela, bastaria referenciá-la nos seus DMLs. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:31:34 Assunto: RES: [oracle_br] Tabela temporária Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:oracle_ [EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br ; [EMAIL PROTECTED] os.com.br mailto:OraOracle% 40yahoogrupos. com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados para depois poder fazer um select nesse resultado agrupando e somando valores. Se alguém souber e puder me ajudar eu agradeço. Abraço. José Costacurta. [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbusca dos.yahoo. com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem
RES: RES: RES: [oracle_br] Tabela temporária
Show de bola. Vou fazer isso então. Valeu pela aula! Abraço. José Costacurta. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: oracle_br@yahoogrupos.com.br Assunto: Res: RES: RES: [oracle_br] Tabela temporária José, A diferença é que uma tabela normal deve ser associada a um segmento do tipo tabela em alguma tablespace permamente. Uma tabela temporária salva seus dados na tablespace temporária, com isso você não possui problemas relacionados a locks, geração de log, geração de dados de undo, etc. E o mais bonito da coisa é que você pode criar índices numa tabela temporária (bacana demais). A tabela não pode estar sendo usada se for necessário criar índices (crie os índices logo após a criação da tabela). Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:57:22 Assunto: RES: RES: [oracle_br] Tabela temporária Legal, entendi. Qual a diferença então entre criar uma tabela desse tipo e criar uma tabela de verdade? Eu pensei que tabela temporária sumisse quando o processo acabasse ou a sessão Essa tabela vai ter muitos registros, não seria melhor eu criar uma tabela de verdade para poder indexá-la? Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:53 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: RES: [oracle_br] Tabela temporária José, Para criá-la dentro de uma procedure você deve utilizar o comando EXECUTE IMMEDIATE. Mas não acho que você deva criar esta tabela numa procedure (não é uma boa prática de programação). Você pode criá-la (uma vez) e todas as vezes que você precisar armazenar dados temporários nela, bastaria referenciá-la nos seus DMLs. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 10:31:34 Assunto: RES: [oracle_br] Tabela temporária Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br [mailto:oracle_ [EMAIL PROTECTED] os.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: [EMAIL PROTECTED] os.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30) ) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br ; [EMAIL PROTECTED] os.com.br mailto:OraOracle% 40yahoogrupos. com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 Assunto: [oracle_br] Tabela temporária Bom dia gente. Gostaria de saber se existe algum método de criar tabelas virtuais em tempo de execução de uma procedure, ou seja, uma tabela que não seja criada fisicamente (somente em memória) e ao término da procedure, ela suma. O problema é que preciso fazer um monte de processamento durante uma procedure e guardar os resultados
RES: RES: [oracle_br] Tabela temporária
Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab.last loop dbms_output.put_line(tab(i).num1 || ' ' || tab(i).num2); end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED] mailto:yahoo%40lrezende.eti.br yahoo%40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira, 14 de novembro de 2008 09:22 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br Assunto: Res: [oracle_br] Tabela temporária José, Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL TEMPORARY TABLE nome da tabela. Este recurso permite que os dados databela estejam disponíveis enquanto você está conectado, ou enquanto você não finaliza a transação. Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) Neste caso, após o um commit todas as linhas da tabela TEMP serão descartadas. Se você quiser manter os dados até você se desconectar da instância faça como no exemplo abaixo: Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) ON COMMIT PRESERVE ROWS; Vale ressaltar que as outras sessões não conseguem enxergar as linhas que estão na tabela TEMP. Não existe concorrência por lock e as alterações impostas aos dados desta tabela não geram log. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta
Re: RES: [oracle_br] Tabela temporária
José, acho que você ainda não pegou o espírito da coisa. :) Com essa técnica você pode fazer qualquer coisa, tudo é uma questão de combinar as coisas certas nos lugares certos. Perguntas que você tem que se fazer: O que eu quero processar das tabelas? (Provavelmente, vai resolver com instruções SQL) O que quero deixar na memória? (Essa informação vai te dizer a estrutura do registro para armazenamento em memória) O que quero processar na memória? (Vai guardando no hash baseado no registro criado no passo anterior) O que quero fazer com o resultado? (Processo dentro do for, percorrendo a tabela em memória) Em todo tempo que trabalho com banco, nunca vi nada que não seja possível fazer utilizando dessas técnicas. :) 2008/11/14 José Costacurta [EMAIL PROTECTED] Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab.last loop dbms_output.put_line(tab(i).num1 || ' ' || tab(i).num2); end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta [EMAIL PROTECTED]jose_costacurta%40yahoo.com.br mailto:jose_costacurta%40yahoo.com.br jose_costacurta%2540yahoo.com.br Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED]yahoo%40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br yahoo% 40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br yahoo% 2540lrezende.eti.br Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.broracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.broracle_br% 2540yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.broracle_br%2540yahoogrupos.com.broracle_br% 2540yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br] Em nome de Wellerson Leite de Araújo Enviada em: sexta-feira
RES: RES: [oracle_br] Tabela temporária
E como criar um índice numa tabela temporária? Usando create index normalmente, como se fosse em uma tabela física? E a performance do índice? Abraços, Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:36 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária José, acho que você ainda não pegou o espírito da coisa. :) Com essa técnica você pode fazer qualquer coisa, tudo é uma questão de combinar as coisas certas nos lugares certos. Perguntas que você tem que se fazer: O que eu quero processar das tabelas? (Provavelmente, vai resolver com instruções SQL) O que quero deixar na memória? (Essa informação vai te dizer a estrutura do registro para armazenamento em memória) O que quero processar na memória? (Vai guardando no hash baseado no registro criado no passo anterior) O que quero fazer com o resultado? (Processo dentro do for, percorrendo a tabela em memória) Em todo tempo que trabalho com banco, nunca vi nada que não seja possível fazer utilizando dessas técnicas. :) 2008/11/14 José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab.last loop dbms_output.put_line(tab(i).num1 || ' ' || tab(i).num2); end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta [EMAIL PROTECTED] mailto:jose_costacurta%40yahoo.com.br jose_costacurta%40yahoo.com.br mailto:jose_costacurta%40yahoo.com.br jose_costacurta%2540yahoo.com.br Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br mailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br oracle_br%40yahoogrupos.com.brmailto: oracle_br%40yahoogrupos.com.br oracle_br%2540yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo dos valores INDEX BY tipo da chave; ou vetor: TYPE nome do tipo IS VARRAY tamanho máximo OF tipo do elemento; Você pode fazer algo do tipo: select coluna bulk collect into nome do tipo tabela from tabela; Fica muito simples e extremamente eficiente. Até mais, Robert 2008/11/14 Leonardo Rezende [EMAIL PROTECTED] mailto:yahoo%40lrezende.eti.br yahoo%40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br yahoo% 40lrezende.eti.br mailto:yahoo%40lrezende.eti.br yahoo%2540lrezende.eti.br yahoo% 2540lrezende.eti.br Podes tentar com o EXECUTE IMMEDIATE... José Costacurta escreveu: Wellerson, bom dia. Mas eu consigo criar essa tabela temporária dentro de uma procedure ou tenho que deixá-la criada já? Eu tentei criar dentro da procedura mas deu erro. Valeu
Res: RES: RES: [oracle_br] Tabela temporária
Carlos, É isso mesmo: CREATE INDEX nome ON tabela (coluna); . Só que, como havia comentado, a tabela não pode estar sendo utilizada Ou seja, crie o índice logo após a criação da tabela. A performance é, praticamente, a mesma do índice normal, só que seus dados também são descartados ao final da transação ou da sessão. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: Carlos martello [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 11:51:17 Assunto: RES: RES: [oracle_br] Tabela temporária E como criar um índice numa tabela temporária? Usando create index normalmente, como se fosse em uma tabela física? E a performance do índice? Abraços, Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: carlosmartello@ choice.com. br De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:36 Para: [EMAIL PROTECTED] os.com.br Assunto: Re: RES: [oracle_br] Tabela temporária José, acho que você ainda não pegou o espírito da coisa. :) Com essa técnica você pode fazer qualquer coisa, tudo é uma questão de combinar as coisas certas nos lugares certos. Perguntas que você tem que se fazer: O que eu quero processar das tabelas? (Provavelmente, vai resolver com instruções SQL) O que quero deixar na memória? (Essa informação vai te dizer a estrutura do registro para armazenamento em memória) O que quero processar na memória? (Vai guardando no hash baseado no registro criado no passo anterior) O que quero fazer com o resultado? (Processo dentro do for, percorrendo a tabela em memória) Em todo tempo que trabalho com banco, nunca vi nada que não seja possível fazer utilizando dessas técnicas. :) 2008/11/14 José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor% type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br [mailto: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor% type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab. last loop dbms_output. put_line( tab(i).num1 || ' ' || tab(i).num2) ; end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br jose_costacurta% 40yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br jose_costacurta% 2540yahoo. com.br Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. brmailto: oracle_br%40yahoogr upos.com. br oracle_br%2540yaho ogrupos.com. br oracle_br%40yahoog rupos.com. br [mailto: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br mailto: oracle_br%40yahoogr upos.com. br oracle_br%2540yaho ogrupos.com. br oracle_br%40yahoog rupos.com. br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:02 Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. brmailto: oracle_br%40yahoogr upos.com. br oracle_br%2540yaho ogrupos.com. br oracle_br%40yahoog rupos.com. br Assunto: Re: RES: [oracle_br] Tabela temporária Em seu caso, usaria uma Tabela PL/SQL (Hash) TYPE nome do tipo IS TABLE OF tipo
RE: RES: RES: [oracle_br] Tabela temporária
Wellerson, pode criar o ÍNDICE ONLINE. Douglas Ortiz Core Competence Center - PostPaid * [EMAIL PROTECTED] *: +55 11 8523-6143 *: +55 11 2113-6391 From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Wellerson Leite de Araújo Sent: sexta-feira, 14 de novembro de 2008 14:30 To: oracle_br@yahoogrupos.com.br Subject: Res: RES: RES: [oracle_br] Tabela temporária Carlos, É isso mesmo: CREATE INDEX nome ON tabela (coluna); . Só que, como havia comentado, a tabela não pode estar sendo utilizada Ou seja, crie o índice logo após a criação da tabela. A performance é, praticamente, a mesma do índice normal, só que seus dados também são descartados ao final da transação ou da sessão. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: Carlos martello [EMAIL PROTECTED] mailto:carlos.martello%40choice.com.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 11:51:17 Assunto: RES: RES: [oracle_br] Tabela temporária E como criar um índice numa tabela temporária? Usando create index normalmente, como se fosse em uma tabela física? E a performance do índice? Abraços, Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: carlosmartello@ choice.com. br De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:36 Para: [EMAIL PROTECTED] os.com.br Assunto: Re: RES: [oracle_br] Tabela temporária José, acho que você ainda não pegou o espírito da coisa. :) Com essa técnica você pode fazer qualquer coisa, tudo é uma questão de combinar as coisas certas nos lugares certos. Perguntas que você tem que se fazer: O que eu quero processar das tabelas? (Provavelmente, vai resolver com instruções SQL) O que quero deixar na memória? (Essa informação vai te dizer a estrutura do registro para armazenamento em memória) O que quero processar na memória? (Vai guardando no hash baseado no registro criado no passo anterior) O que quero fazer com o resultado? (Processo dentro do for, percorrendo a tabela em memória) Em todo tempo que trabalho com banco, nunca vi nada que não seja possível fazer utilizando dessas técnicas. :) 2008/11/14 José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor% type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br [mailto: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor% type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab. last loop dbms_output. put_line( tab(i).num1 || ' ' || tab(i).num2) ; end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br jose_costacurta% 40yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br jose_costacurta% 2540yahoo. com.br Ótima idéia Robert. Porém, eu não conseguiria fazer um select nesse type. E é essa minha necessidade, fazer um select somando e agrupando valores. Valeu. Abraço. De: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. brmailto: oracle_br%40yahoogr upos.com. br oracle_br%2540yaho ogrupos.com. br oracle_br%40yahoog rupos.com. br [mailto: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br mailto: oracle_br%40yahoogr upos.com. br oracle_br
Res: RES: RES: [oracle_br] Tabela temporária
Douglas, Em tabelas temporárias não é possível nem mesmo com a cláusula ONLINE. Isso acontece porque as tabelas temporárias possuem 1 fragmento para cada sessão que necessita utilizá-las. Desta maneira o Oracle, ainda, não possui uma estrutura de dados suficientemente eficiente para replicar a criação de um índice por todos estes fragmentos (a volatilidade de uma tabela temporária é muito grande). Agora, como toda regra tem excessão, vamos à excessão (excessão?!?!?!). Caso o único fragmento que esteja sendo utilizado por esta tabela for o da sessão que está querendo criar o índice, e a tabela foi criada com a opção ON COMMIT DELETE ROWS (este é o default), aí pode. Só que neste caso as linhas desta tabela são descartadas (lembre-se que os comandos DDLs possuem um COMMIT implícito). Na verdade, todo o fragmento que você estava utilizando é descartado, ou seja, não existe nenhum fragmento da tabela em uso e o índice pode ser criado. Por isso, esta particularidade pode nem ser considerada uma excessão. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) De: Douglas Ortiz [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br; Wellerson Leite de Araújo [EMAIL PROTECTED] Enviadas: Sexta-feira, 14 de Novembro de 2008 13:30:21 Assunto: RE: RES: RES: [oracle_br] Tabela temporária Wellerson, pode criar o ÍNDICE ONLINE. Douglas Ortiz Core Competence Center - PostPaid * [EMAIL PROTECTED] com.br *: +55 11 8523-6143 *: +55 11 2113-6391 _ _ __ From: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] On Behalf Of Wellerson Leite de Araújo Sent: sexta-feira, 14 de novembro de 2008 14:30 To: [EMAIL PROTECTED] os.com.br Subject: Res: RES: RES: [oracle_br] Tabela temporária Carlos, É isso mesmo: CREATE INDEX nome ON tabela (coluna); . Só que, como havia comentado, a tabela não pode estar sendo utilizada Ou seja, crie o índice logo após a criação da tabela. A performance é, praticamente, a mesma do índice normal, só que seus dados também são descartados ao final da transação ou da sessão. Att, Wellerson Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até maltratar o meu coração, que meu espírito ninguém vai conseguir quebrar... (Legião Urbana) As idéias estão no chão, você tropeça e acha a solução... (Titãs) _ _ __ De: Carlos martello carlos.martello@ choice.com. br mailto:carlos. martello% 40choice. com.br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br Enviadas: Sexta-feira, 14 de Novembro de 2008 11:51:17 Assunto: RES: RES: [oracle_br] Tabela temporária E como criar um índice numa tabela temporária? Usando create index normalmente, como se fosse em uma tabela física? E a performance do índice? Abraços, Carlos Martello DBA Oracle / Consultor de Tecnologia TEL: 55+21+3094-6250 Choice Technologies S/A - Inteligência em Energia e-mail: carlosmartello@ choice.com. br De: [EMAIL PROTECTED] os.com.br [mailto:oracle_ [EMAIL PROTECTED] os.com.br] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:36 Para: [EMAIL PROTECTED] os.com.br Assunto: Re: RES: [oracle_br] Tabela temporária José, acho que você ainda não pegou o espírito da coisa. :) Com essa técnica você pode fazer qualquer coisa, tudo é uma questão de combinar as coisas certas nos lugares certos. Perguntas que você tem que se fazer: O que eu quero processar das tabelas? (Provavelmente, vai resolver com instruções SQL) O que quero deixar na memória? (Essa informação vai te dizer a estrutura do registro para armazenamento em memória) O que quero processar na memória? (Vai guardando no hash baseado no registro criado no passo anterior) O que quero fazer com o resultado? (Processo dentro do for, percorrendo a tabela em memória) Em todo tempo que trabalho com banco, nunca vi nada que não seja possível fazer utilizando dessas técnicas. :) 2008/11/14 José Costacurta jose_costacurta@ yahoo.com. br mailto:jose_ costacurta% 40yahoo.com. br Então... na verdade eu precisaria fazer o select NO type. Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor% type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br oracle_br%40yahoog rupos.com. br [mailto: [EMAIL PROTECTED
Re: [oracle_br] Tabela mutante (ORA-04091)
Grande Marcio! Fiz alguns testes iniciais, e realmente essa é uma solução muito boa! Vou continuar aqui com minha luta contra meus poucos conhecimentos em Oracle. ;) Meu muito obrigado, ajudou muito. Abraços Fabio Schunig - Original Message - From: [EMAIL PROTECTED] [EMAIL PROTECTED] To: oracle_br@yahoogrupos.com.br Sent: Wednesday, October 29, 2008 10:29 PM Subject: Re: [oracle_br] Tabela mutante (ORA-04091) Fabio, O Oracle não permite que se faça uma alteração na mesma tabela dentro de uma trigger. O que vc pode fazer é criar uma view dessa tabela e então criar uma trigger instead of para a view que fará a alteração. O link abaixo dá um exemplo de como isso funciona e explica como resolver o problema, inclusive fala sobre o autonomous_transaction e o uso errado dele para resolver esse problema de tabelas mutantes. http://glufke.net/oracle/viewtopic.php?t=96 Espero ter ajudado tks Marcio Fossa Em Wed, 29 Oct 2008 20:23:32 -0200, Fabio [EMAIL PROTECTED] escreveu: Boa noite colegas Estou com um problema aqui, talvez os mais experientes possam me dar alguma dica. Tenho uma tabela que possui um campo numérico (vlr_rateio). Então criei uma trigger nessa tabela que faz uma distribuição de um valor pelos itens nesse campo . Por exemplo, a tabela tem 3 linhas. Ao incluir, salvar ou excluir na tabela, eu pego um valor (150 por exemplo) e faço uma distribuição pelos itens da tabela (na 1ª linha recebe 20, na segunda 80 e na terceira 50). É aí que eu recebo o erro de tabela mutante. Entendo que é uma situação meio sem lógica, pois a cada alteração eu chamaria a trigger que faz mais uma alteração, fazendo um loop infinito. Só que acontece que essa distribuição acontece em uma situação específica (apenas quando altero algumas colunas). Então eu fiz um IF na trigger para só chamar essa distribuição quando alteradas essas colunas. Assim, quando eu rodo o update da distribuição, não entra nesse IF, e não deveria dar problema. Sei que isso funciona, pois tenho o mesmo procedimento em outro SGBD. Só que no Oracle não está funcionando, e acusa que a tabela é mutante. Pesquisando na internet, descobri a declaração pragma autonomous_transaction, que acabou fazendo funcionar essa parte da distribuição (mas preciso dar um commit no final da trigger). Mas então está dando conflitos (deadlock) quando atualizo campos dessa tabela por uma outra trigger (da tabela pai). Acho que talvez por causa do commit, não sei. Agradeço desde já qualquer ajuda ou sugestão. Abraços Fabio Schunig __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] Tabela mutante (ORA-04091)
Boa noite colegas Estou com um problema aqui, talvez os mais experientes possam me dar alguma dica. Tenho uma tabela que possui um campo numérico (vlr_rateio). Então criei uma trigger nessa tabela que faz uma distribuição de um valor pelos itens nesse campo . Por exemplo, a tabela tem 3 linhas. Ao incluir, salvar ou excluir na tabela, eu pego um valor (150 por exemplo) e faço uma distribuição pelos itens da tabela (na 1ª linha recebe 20, na segunda 80 e na terceira 50). É aí que eu recebo o erro de tabela mutante. Entendo que é uma situação meio sem lógica, pois a cada alteração eu chamaria a trigger que faz mais uma alteração, fazendo um loop infinito. Só que acontece que essa distribuição acontece em uma situação específica (apenas quando altero algumas colunas). Então eu fiz um IF na trigger para só chamar essa distribuição quando alteradas essas colunas. Assim, quando eu rodo o update da distribuição, não entra nesse IF, e não deveria dar problema. Sei que isso funciona, pois tenho o mesmo procedimento em outro SGBD. Só que no Oracle não está funcionando, e acusa que a tabela é mutante. Pesquisando na internet, descobri a declaração pragma autonomous_transaction, que acabou fazendo funcionar essa parte da distribuição (mas preciso dar um commit no final da trigger). Mas então está dando conflitos (deadlock) quando atualizo campos dessa tabela por uma outra trigger (da tabela pai). Acho que talvez por causa do commit, não sei. Agradeço desde já qualquer ajuda ou sugestão. Abraços Fabio Schunig [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela mutante (ORA-04091)
O deadlock ocorre porque são duas sessões tentando alterar a mesma coisa. Não use essa pragma para fugir desta situação. Esta lógica deve estar antes, em uma procedure, na que faz o DML na tabela. Uma trigger destas não deve ser usada, pois vc está alterando algo que está sendo alterada. Ricardo Portilho Proni Coordenador de Bancos de Dados - Solvo S/A - Oracle Database 10g Administrator Certified Professional (OCP) - Microsoft Certified Professional (MCP) - Microsoft Certified Technologt Specialist: SQL Server 2005 (MCTS) http://portilho.profissionaloracle.com.br Em Qua, 2008-10-29 às 20:23 -0200, Fabio escreveu: Boa noite colegas Estou com um problema aqui, talvez os mais experientes possam me dar alguma dica. Tenho uma tabela que possui um campo numérico (vlr_rateio). Então criei uma trigger nessa tabela que faz uma distribuição de um valor pelos itens nesse campo . Por exemplo, a tabela tem 3 linhas. Ao incluir, salvar ou excluir na tabela, eu pego um valor (150 por exemplo) e faço uma distribuição pelos itens da tabela (na 1ª linha recebe 20, na segunda 80 e na terceira 50). É aí que eu recebo o erro de tabela mutante. Entendo que é uma situação meio sem lógica, pois a cada alteração eu chamaria a trigger que faz mais uma alteração, fazendo um loop infinito. Só que acontece que essa distribuição acontece em uma situação específica (apenas quando altero algumas colunas). Então eu fiz um IF na trigger para só chamar essa distribuição quando alteradas essas colunas. Assim, quando eu rodo o update da distribuição, não entra nesse IF, e não deveria dar problema. Sei que isso funciona, pois tenho o mesmo procedimento em outro SGBD. Só que no Oracle não está funcionando, e acusa que a tabela é mutante. Pesquisando na internet, descobri a declaração pragma autonomous_transaction, que acabou fazendo funcionar essa parte da distribuição (mas preciso dar um commit no final da trigger). Mas então está dando conflitos (deadlock) quando atualizo campos dessa tabela por uma outra trigger (da tabela pai). Acho que talvez por causa do commit, não sei. Agradeço desde já qualquer ajuda ou sugestão. Abraços Fabio Schunig [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela mutante (ORA-04091)
Fabio, O Oracle não permite que se faça uma alteração na mesma tabela dentro de uma trigger. O que vc pode fazer é criar uma view dessa tabela e então criar uma trigger instead of para a view que fará a alteração. O link abaixo dá um exemplo de como isso funciona e explica como resolver o problema, inclusive fala sobre o autonomous_transaction e o uso errado dele para resolver esse problema de tabelas mutantes. http://glufke.net/oracle/viewtopic.php?t=96 Espero ter ajudado tks Marcio Fossa Em Wed, 29 Oct 2008 20:23:32 -0200, Fabio [EMAIL PROTECTED] escreveu: Boa noite colegas Estou com um problema aqui, talvez os mais experientes possam me dar alguma dica. Tenho uma tabela que possui um campo numérico (vlr_rateio). Então criei uma trigger nessa tabela que faz uma distribuição de um valor pelos itens nesse campo . Por exemplo, a tabela tem 3 linhas. Ao incluir, salvar ou excluir na tabela, eu pego um valor (150 por exemplo) e faço uma distribuição pelos itens da tabela (na 1ª linha recebe 20, na segunda 80 e na terceira 50). É aí que eu recebo o erro de tabela mutante. Entendo que é uma situação meio sem lógica, pois a cada alteração eu chamaria a trigger que faz mais uma alteração, fazendo um loop infinito. Só que acontece que essa distribuição acontece em uma situação específica (apenas quando altero algumas colunas). Então eu fiz um IF na trigger para só chamar essa distribuição quando alteradas essas colunas. Assim, quando eu rodo o update da distribuição, não entra nesse IF, e não deveria dar problema. Sei que isso funciona, pois tenho o mesmo procedimento em outro SGBD. Só que no Oracle não está funcionando, e acusa que a tabela é mutante. Pesquisando na internet, descobri a declaração pragma autonomous_transaction, que acabou fazendo funcionar essa parte da distribuição (mas preciso dar um commit no final da trigger). Mas então está dando conflitos (deadlock) quando atualizo campos dessa tabela por uma outra trigger (da tabela pai). Acho que talvez por causa do commit, não sei. Agradeço desde já qualquer ajuda ou sugestão. Abraços Fabio Schunig [As partes desta mensagem que não continham texto foram removidas] -- Usando o revolucionário cliente de correio do Opera: http://www.opera.com/mail/ -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[oracle_br] TABELA DE RELATORISO ORACLE EM EXCEL
Gente alguem alguam arquivo exce,ll que gera relatorios do oracle , tipo , gerencia de espaço , erros e etc -- Alex Luciano Castro e Castro - Analista de Banco de Dados
Re: [oracle_br] tabela temporaria
Fala Wagner! Não tem problema dois usuários executarem a rotina ao mesmo tempo. Imagine a situação abaixo: 1) É criada a tabela temporária *tab_temp* com o campo *campo1* *number*; 2) O usuário *USU_A* faz logon; 3) O usuário *USU_B* faz logon; 4) USU_A faz um insert em TAB_TEMP, com o *valor 1* e faz commit; 5) USU_B faz um select sem cláusula where na TAB_TEMP... que não retorna nenhum registro!! Isso ocorre porque os registros das tabelas temporárias, como nosso amigo disse, só aparecem para a própria sessão que os incluiu. Outras sessões não enxergam esses valores. Podem ser mil usuários ao mesmo tempo, sem problemas. Não é necessário filtrar pelo SID da sessão, nem nada assim. 2008/4/29 Wagner Franze Junior [EMAIL PROTECTED]: Então.. tenho um servidor onde existem cerca de 20 clientes e 4 produtos que precisam de extrações para analise.. para isso preciso de 3 tabelas auxiliares para tratamento dos dados de 3 tabelas normais .. esses aplicativos são chamados por usuários através de uma aplicação desenvolvida e pode ocorrer de dois ou mais usuários chamarem ao mesmo tempo a aplicação que utilizam a mesma estrutura de tabelas auxiliares pra tratamento dos dados. ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] zenfra123%40yahoo.com.br MSN: [EMAIL PROTECTED] franze_jr%40hotmail.com Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] yahoo%40lrezende.eti.br Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Enviadas: Terça-feira, 29 de Abril de 2008 17:31:52 Assunto: Re: [oracle_br] tabela temporaria Eu não estou entendendo! Porque você precisa de temporary tables com nomes diferentes.. . As suas tabelas auxiliares seriam temporary tables com nome fixos... E você sempre as usaria para sua rotina. Eu não estou conseguindo visualizar o seu ambiente... Mesmo assim, não há problema em temporary table com execute immediate... Temporary table são tabelas que existem independente de você estar conectado... Você não tem que criar a tabela sempre que conectar! Os dados é que são voláteis e são armazenados momentaneamente na tbs temporária. Dá uma olhada nos docs. http://download. oracle.com/ docs/cd/B19306_ 01/server. 102/b14200/ statements_ 7002.htm# i2153132 Wagner Franze Junior escreveu: O complicado é que terei que utilizar execute immediate em todas as execuções dentro do bloco PLSQL. _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% zenfra123%25 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] eti.br mailto:yahoo% yahoo%25 40lrezende. eti.br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos . com.br Enviadas: Terça-feira, 29 de Abril de 2008 16:05:34 Assunto: Re: [oracle_br] tabela temporaria Eu acho que o caminho é temporary table mesmo, e que você não precisa pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro da sessão/transaçã o. Wagner Franze Junior escreveu: Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% zenfra123%25 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua
[oracle_br] tabela temporaria
Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] MSN:[EMAIL PROTECTED] Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/
Re: [oracle_br] tabela temporaria
Eu acho que o caminho é temporary table mesmo, e que você não precisa pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro da sessão/transação. Wagner Franze Junior escreveu: Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] mailto:zenfra123%40yahoo.com.br MSN: [EMAIL PROTECTED] mailto:franze_jr%40hotmail.com Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ http://br.mail.yahoo.com/ -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED]
Res: [oracle_br] tabela temporaria
O complicado é que terei que utilizar execute immediate em todas as execuções dentro do bloco PLSQL. ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] MSN:[EMAIL PROTECTED] Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Terça-feira, 29 de Abril de 2008 16:05:34 Assunto: Re: [oracle_br] tabela temporaria Eu acho que o caminho é temporary table mesmo, e que você não precisa pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro da sessão/transaçã o. Wagner Franze Junior escreveu: Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] tabela temporaria
Eu não estou entendendo! Porque você precisa de temporary tables com nomes diferentes... As suas tabelas auxiliares seriam temporary tables com nome fixos... E você sempre as usaria para sua rotina. Eu não estou conseguindo visualizar o seu ambiente... Mesmo assim, não há problema em temporary table com execute immediate... Temporary table são tabelas que existem independente de você estar conectado... Você não tem que criar a tabela sempre que conectar! Os dados é que são voláteis e são armazenados momentaneamente na tbs temporária. Dá uma olhada nos docs. http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2153132 Wagner Franze Junior escreveu: O complicado é que terei que utilizar execute immediate em todas as execuções dentro do bloco PLSQL. ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] mailto:zenfra123%40yahoo.com.br MSN: [EMAIL PROTECTED] mailto:franze_jr%40hotmail.com Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] mailto:yahoo%40lrezende.eti.br Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Enviadas: Terça-feira, 29 de Abril de 2008 16:05:34 Assunto: Re: [oracle_br] tabela temporaria Eu acho que o caminho é temporary table mesmo, e que você não precisa pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro da sessão/transaçã o. Wagner Franze Junior escreveu: Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED]
Res: [oracle_br] tabela temporaria
Então.. tenho um servidor onde existem cerca de 20 clientes e 4 produtos que precisam de extrações para analise.. para isso preciso de 3 tabelas auxiliares para tratamento dos dados de 3 tabelas normais .. esses aplicativos são chamados por usuários através de uma aplicação desenvolvida e pode ocorrer de dois ou mais usuários chamarem ao mesmo tempo a aplicação que utilizam a mesma estrutura de tabelas auxiliares pra tratamento dos dados. ___ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] MSN:[EMAIL PROTECTED] Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] Para: oracle_br@yahoogrupos.com.br Enviadas: Terça-feira, 29 de Abril de 2008 17:31:52 Assunto: Re: [oracle_br] tabela temporaria Eu não estou entendendo! Porque você precisa de temporary tables com nomes diferentes.. . As suas tabelas auxiliares seriam temporary tables com nome fixos... E você sempre as usaria para sua rotina. Eu não estou conseguindo visualizar o seu ambiente... Mesmo assim, não há problema em temporary table com execute immediate... Temporary table são tabelas que existem independente de você estar conectado... Você não tem que criar a tabela sempre que conectar! Os dados é que são voláteis e são armazenados momentaneamente na tbs temporária. Dá uma olhada nos docs. http://download. oracle.com/ docs/cd/B19306_ 01/server. 102/b14200/ statements_ 7002.htm# i2153132 Wagner Franze Junior escreveu: O complicado é que terei que utilizar execute immediate em todas as execuções dentro do bloco PLSQL. _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) - Mensagem original De: Leonardo Rezende [EMAIL PROTECTED] eti.br mailto:yahoo% 40lrezende. eti.br Para: [EMAIL PROTECTED] os.com.br mailto:oracle_ br%40yahoogrupos .com.br Enviadas: Terça-feira, 29 de Abril de 2008 16:05:34 Assunto: Re: [oracle_br] tabela temporaria Eu acho que o caminho é temporary table mesmo, e que você não precisa pegar sid nenhum. Os dados das tabelas temporários só são vistos dentro da sessão/transaçã o. Wagner Franze Junior escreveu: Boa tarde, Gostaria de uma opnião sobre uma aplicação que preciso desenvolver em PLSQL. Possuo uma aplicação em Shell Script que executa um arquivo .sql onde existe uma aplicação PLSQL que faz seleções de registros a partir de filtros informados pelo usuário e que insere em tabelas auxiliares esse registros para serem tratados. O problema é que essa aplicação pode ser acessada por usuários da rede ao mesmo tempo e se eu possuir tabelas auxiliares fixas podem ocorrer erros já que essas tabelas são limpas cada vez que a aplicação é executada. O que eu precisaria é criar tabelas auxiliares do tipo temporarias em tempo de execução, executar o processo e acabar com essa tabela posteriormente. Gostaria de uma opnião de vocês sobre essa cena.. Minha intenção é pegar o sid da sessão atual e criar a tabela temporaria utilizando o execute immediate... O que vocês acham? _ _ _ Wagner Franze Junior E-MAIL: [EMAIL PROTECTED] com.br mailto:zenfra123% 40yahoo.com. br MSN: [EMAIL PROTECTED] com mailto:franze_ jr%40hotmail. com Brasil - São paulo - Sp :-) Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. yahoo.com/ http://br.mail. yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- Sds, Leonardo Rezende Analista Desenvolvedor [EMAIL PROTECTED] eti.br Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] tabela de ceps, estados e paises
Srs, saberiam me dizer aonde posso conseguir as tabelas de ceps(Brasil), estados e paises?? obrigado _ Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video! http://video.msn.com/?mkt=pt-br [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] tabela de ceps, estados e paises
eu tenho uma base, mas é só do Brasil, e já não é tão nova. Porém dependendo a sua necessidade, compensa comprar dos correios a base mais atual. Vem tudo em txt. Em 13/03/08, orfeu lima [EMAIL PROTECTED] escreveu: Srs, saberiam me dizer aonde posso conseguir as tabelas de ceps(Brasil), estados e paises?? obrigado __ Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video! http://video.msn.com/?mkt=pt-br [As partes desta mensagem que não continham texto foram removidas] -- Ricardo Luiz Francisco (17) 8132-7311 É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias, mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que não conhece vitória nem derrota. Theodore Roosevelt [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] tabela de ceps, estados e paises
Até onde eu sei, o único órgão do governo que pode lhe fornecer essas informções de forma lícita são os Correios através da compra da base de dados deles, se vc não quer ou não pode pagar, não poderá usar. Não fechar contrato com o correios pra prestação desses serviços, vai gerar uma multa muito maior do que não foi pago pelos correios. orfeu lima [EMAIL PROTECTED] escreveu: Srs, saberiam me dizer aonde posso conseguir as tabelas de ceps(Brasil), estados e paises?? obrigado __ Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video! http://video.msn.com/?mkt=pt-br [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela Mutante!
Olá pessoal, deixa eu deixar os meus 2 centavos na discussão: na GRANDE maioria das vezes que eu vi situações de mutating era uma falha na modelagem. Faça uma revisão na modelagem desta estrutura e veja se ela está nas formas normais, etc. Porque ao se alterar um registro, vc tem setar outros para nulo ?? Não conheço o seu modelo, estou apenas abrindo as possibilidades... Assumindo que o seu modelo está correto ou caso vc não tenha permissão ou não possa alterar o modelo: 1) Solução PRAGMA AUTONOMOUS_TRANSACTION na trigger Eu acho esta solução uma aberração e deveria ser banida do Oracle!!! :) Primeiro porque eu colocar COMMIT em uma trigger ou até mesmo em uma procedure/package é um tiro no pé. Só se deve colocar COMMIT no front-end ou em casos batch na rotina mais externa. Qualquer outra opção fora disso, é problema certo a longo prazo. No caso específico da sua trigger, imagine a situação: vc dá o update e chama a transação autonoma que seta nulo os campos. Mais a frente, o usuário dá rollback ou acontece um outro erro. Qual o resultado: os atributos ficaram com nulo e o resto dos registros envolvidos voltaram a posição inicial... A sua modelagem irá aceitar isso?? 2) Solução aceitável: - Crie uma tabela temporária CP_TEMP que conterá os registros que vc terá que alterar - Na trigger, apenas insira os registros que comandarão o SET NULL INSERT INTO CP_TEMP VALUES ( :NEW.cd_lancam, :NEW.nr_anolot, :NEW.cd_lote ); - Crie uma trigger AFTER STATEMENT que irá chamar a procedure MarcaNulo() - A procedure MarcaNulo() irá consultar a tabela e remover os registros desejados: begin for c1 in (SELECT * FROM CP_TEMP) loop UPDATE Cpbaidup SET Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = c1.cd_lancam And nr_anolot = c1.nr_anolot And cd_lote = c1.cd_lote; end loop; end; O AFTER STATEMENT também poderá dar erro de mutating caso os registros alterados sejam os mesmos que vc acabou de alterar. Neste caso, vc terá que usar JOBS mas aí a solução é mais complexa Se não funcionar me fale. Boa Sorte, Josir. [As partes desta mensagem que não continham texto foram removidas]
RE: [oracle_br] Tabela Mutante!
Companheiro, Tente fazer ao invés do update o seguinte: :new.cd_lancam := Null; :new.nr_anolot := Null; :new.cd_lote := null; []s From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of Marcelo Sent: sexta-feira, 30 de novembro de 2007 16:21 To: oracle_br@yahoogrupos.com.br Subject: RES: [oracle_br] Tabela Mutante! Acho que faltou você declarar um COMMIT, pois você está usando PRAGRMA AUTONOMOUS_TRANSACTION. Marcelo Alberto Lauschner Tecnologia e Sistemas Auto Pratense Ltda * - Fone: (0XX54) 3242-3615 * - Fax: (0XX54) 3242-3648 * - E-mail: BLOCKED::mailto:[EMAIL PROTECTED] mailto:marcelo%40autopratense.com.br [EMAIL PROTECTED] mailto:marcelo%40autopratense.com.br * - WWW: www.autopratense.com.br BLOCKED::http://www.autopratense.com.br/ http://www.autopratense.com.br/ _ De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 16:05 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela Mutante!
Sem commit o máximo que poderia acontecer seria um DEAD LOCK... não é o caso. Sds, _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcelo Enviada em: sexta-feira, 30 de novembro de 2007 15:21 Para: oracle_br@yahoogrupos.com.br Assunto: RES: [oracle_br] Tabela Mutante! Acho que faltou você declarar um COMMIT, pois você está usando PRAGRMA AUTONOMOUS_TRANSACTION. Marcelo Alberto Lauschner Tecnologia e Sistemas Auto Pratense Ltda * - Fone: (0XX54) 3242-3615 * - Fax: (0XX54) 3242-3648 * - E-mail: BLOCKED::mailto:[EMAIL PROTECTED] mailto:marcelo%40autopratense.com.br e.com.br [EMAIL PROTECTED] mailto:marcelo%40autopratense.com.br e.com.br * - WWW: www.autopratense.com.br BLOCKED::http://www.autoprat http://www.autopratense.com.br/ ense.com.br/ _ De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 16:05 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela Mutante!
Acho que faltou você declarar um COMMIT, pois você está usando PRAGRMA AUTONOMOUS_TRANSACTION. Marcelo Alberto Lauschner Tecnologia e Sistemas Auto Pratense Ltda * - Fone: (0XX54) 3242-3615 * - Fax: (0XX54) 3242-3648 * - E-mail: BLOCKED::mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] * - WWW: www.autopratense.com.br BLOCKED::http://www.autopratense.com.br/ _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 16:05 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela Mutante!
Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço!
RES: [oracle_br] Tabela Mutante!
Vamos pensar lógicamente... Você altera a sua tabela. Ela dispara a trigger... oq a trigger faz? A trigger altera a tabela... oq uma alteração na sua tabela faz? Dispara a trigger... Oq a trigger faz? Altera a tabela... E assim vai... É isso que significa sua tabela ser mutante rs :D Ainda bem que a o Oracle identifica esse tipo de coisa e dispara esse erro. Abs, _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 15:05 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela Mutante!
Sim Bruno, vc está certo, porém, o que o colega deseja fazer é que a trigger seja disparada quando se altera um certo campo, e então atualizar um outro campo. Portanto, o raciocínio lógico dele está correto. Nonodetorres: Acesse essa página: http://www.psoug.org/reference/table_trigger.html E procure pelo texto: Mutating Trigger Fix With Autonomous Transaction Não sei se o seu caso tem solução, mas leia, veja se consegue entender, e tente pra v er se dá certo. Milton Bastos Henriquis Junior Oracle Database Administrator -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Bruno Lorenzini Enviada em: sexta-feira, 30 de novembro de 2007 17:25 Para: oracle_br@yahoogrupos.com.br Assunto: RES: [oracle_br] Tabela Mutante! Vamos pensar lógicamente... Você altera a sua tabela. Ela dispara a trigger... oq a trigger faz? A trigger altera a tabela... oq uma alteração na sua tabela faz? Dispara a trigger... Oq a trigger faz? Altera a tabela... E assim vai... É isso que significa sua tabela ser mutante rs :D Ainda bem que a o Oracle identifica esse tipo de coisa e dispara esse erro. Abs, _ De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 15:05 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] Tabela Mutante!
Sim.. esse pensamento lógico eu ja tive tanto é que já coloquei em minha pergunta a causa do erro o que gostaria de saber é como contornar esse tipo de problema, ou seja, em um trigger atualizar outros registros da mesma tabela sem que ocorra esse tipo de erro mutante, ou loop infinito ? Grato! --- Em oracle_br@yahoogrupos.com.br, Bruno Lorenzini [EMAIL PROTECTED] escreveu Vamos pensar lógicamente... Você altera a sua tabela. Ela dispara a trigger... oq a trigger faz? A trigger altera a tabela... oq uma alteração na sua tabela faz? Dispara a trigger... Oq a trigger faz? Altera a tabela... E assim vai... É isso que significa sua tabela ser mutante rs :D Ainda bem que a o Oracle identifica esse tipo de coisa e dispara esse erro. Abs, _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de nunodetorres Enviada em: sexta-feira, 30 de novembro de 2007 15:05 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Tabela Mutante! Boa Tarde a todos! Estou com um grande problema com um trigger. É o seguinte: Possuo um trigger, onde nela tenho que atualizar a propria tabela onde o trigger esta vinculado, e esse trigger é Before On Uptade And Delete. No entanto quando atualizo um registro nesta tabela me retorna um erro dizendo: conflito detectado ao aguardar recurso creio que seja porque quando atualizo o campo despara o trigger e como dentro desse trigger tem um update, dai entra em um loop ... Código da Trigger: DECLARE V_ROW NUMBER(10); V_ENTRA NUMBER(1); Pragma Autonomous_Transaction; BEGIN Update Cpbaidup Set cd_lancam = Null, nr_anolot = Null, cd_lote = null Where cd_lancam = :NEW.cd_lancam And nr_anolot = :NEW.nr_anolot And cd_lote = :NEW.cd_lote; end if; End if; END; Gostaria de saber se possui uma outra maneira em que quando atualizar um determinado registro dessa tabela atualize outros campos dessa mesma tabela. Não sei se me fiz entender. Agradeço a todos. Abraço! [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela
Bom dia Orlando! Vc pode usar DBA_TABLES ou DBA_OBJECTS para obter informações das tableas. As colunas vc pode ver em DBA_TAB_COLUMNS. Carl Orlando Martins [EMAIL PROTECTED] escreveu: dba_tab_columns On 9/4/07, [EMAIL PROTECTED] wrote: Gostaria de saber o nome das tabelas que contém os nomes das tabela e campos do banco. [As partes desta mensagem que não continham texto foram removidas] -- A demagogia sempre vence os fatos nas batalhas políticas. Dick Armey (um economista) [As partes desta mensagem que não continham texto foram removidas] Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ Links do Yahoo! Grupos Flickr agora em português. Você clica, todo mundo vê. Saiba mais. [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela
Foi o que respondi ao perguntante. Ele quer ver nome da tabela e seus campos ? DBA_TAB_COLUMNS. Com o bônus das colunas NUM_DISTINCT e LAST_ANALYZED, que pode lhe permitir ver porque acontece aquele maledeto fullscan. Abração. On 9/5/07, Carlos Henrique Correa [EMAIL PROTECTED] wrote: Bom dia Orlando! Vc pode usar DBA_TABLES ou DBA_OBJECTS para obter informações das tableas. As colunas vc pode ver em DBA_TAB_COLUMNS. Carl Orlando Martins [EMAIL PROTECTED] olmartins%40gmail.com escreveu: dba_tab_columns On 9/4/07, [EMAIL PROTECTED] al_oliveira%40pop.com.br wrote: Gostaria de saber o nome das tabelas que contém os nomes das tabela e campos do banco. [As partes desta mensagem que não continham texto foram removidas] -- A demagogia sempre vence os fatos nas batalhas políticas. Dick Armey (um economista) [As partes desta mensagem que não continham texto foram removidas] Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php -- Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ -- Links do Yahoo! Grupos Flickr agora em português. Você clica, todo mundo vê. Saiba mais. [As partes desta mensagem que não continham texto foram removidas] -- A demagogia sempre vence os fatos nas batalhas políticas. Dick Armey (um economista) [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela
Gostaria de saber o nome das tabelas que contém os nomes das tabela e campos do banco. [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela
select * from sys.all_tab_columns abraços _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de [EMAIL PROTECTED] Enviada em: terça-feira, 4 de setembro de 2007 09:08 Para: [EMAIL PROTECTED]; oracle_br@yahoogrupos.com.br; [EMAIL PROTECTED] Assunto: [oracle_br] Tabela Gostaria de saber o nome das tabelas que contém os nomes das tabela e campos do banco. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela
dba_tab_columns On 9/4/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Gostaria de saber o nome das tabelas que contém os nomes das tabela e campos do banco. [As partes desta mensagem que não continham texto foram removidas] -- A demagogia sempre vence os fatos nas batalhas políticas. Dick Armey (um economista) [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tabela consta na all_objects mas nao existe...
Pessoal, Alguem sabe o que pode estar acontecendo? Quando faço: select * from all_objects where owner = upper('teste') ele me apresenta os objetos desse schema.. Acontece que estou tentando acessar algumas tabelas que ele me informou, mas não consigo pois da um erro falando q a tabela não existe!!! Não pode ser problema de permissão, pois eu já tentei com o system e com o dono das tabelas, que possuem privilégios necessários. Apenas para confirmar eu consigo acessar outras tabelas q ele me informou, o q confirma q não eh permissão.. Existe algum utilitário que faça uma checagem geral e atualize as views?? Pois estou desconfiado que essas tabelas realmente não existem e a view que está desatualizada.. Como acertar isso?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Tabela consta na all_objects mas nao existe...
Uma das possibilidades seria a da tabela estar na recycle bin. Neste caso, ao consultar a view, você receberia: ORA-04063: view RFLRIBEIRO.VIEWTESTE has errors. Passa p/ gente o erro que você está recebendo, versão do banco e do sistema operacional. O erro acima foi simulado criando uma tabela de teste e uma view que a consulta e depois dropando a tabela. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Pessoal, Alguem sabe o que pode estar acontecendo? Quando faço: select * from all_objects where owner = upper('teste') ele me apresenta os objetos desse schema.. Acontece que estou tentando acessar algumas tabelas que ele me informou, mas não consigo pois da um erro falando q a tabela não existe!!! Não pode ser problema de permissão, pois eu já tentei com o system e com o dono das tabelas, que possuem privilégios necessários. Apenas para confirmar eu consigo acessar outras tabelas q ele me informou, o q confirma q não eh permissão.. Existe algum utilitário que faça uma checagem geral e atualize as views?? Pois estou desconfiado que essas tabelas realmente não existem e a view que está desatualizada.. Como acertar isso?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com
RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAMESUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 11:45 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela consta na all_objects mas nao existe... Uma das possibilidades seria a da tabela estar na recycle bin. Neste caso, ao consultar a view, você receberia: ORA-04063: view RFLRIBEIRO.VIEWTESTE has errors. Passa p/ gente o erro que você está recebendo, versão do banco e do sistema operacional. O erro acima foi simulado criando uma tabela de teste e uma view que a consulta e depois dropando a tabela. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Pessoal, Alguem sabe o que pode estar acontecendo? Quando faço: select * from all_objects where owner = upper('teste') ele me apresenta os objetos desse schema.. Acontece que estou tentando acessar algumas tabelas que ele me informou, mas não consigo pois da um erro falando q a tabela não existe!!! Não pode ser problema de permissão, pois eu já tentei com o system e com o dono das tabelas, que possuem privilégios necessários. Apenas para confirmar eu consigo acessar outras tabelas q ele me informou, o q confirma q não eh permissão.. Existe algum utilitário que faça uma checagem geral e atualize as views?? Pois estou desconfiado que essas tabelas realmente não existem e a view que está desatualizada.. Como acertar isso?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Tente fazer o select abaixo: select * from TESTE.csm098; Se o select retornar linhas é porque o nome da tabela está em minúsculo. Para corrigir para maiúsculo execute o comando: Alter table TESTE.csm098 rename to csm098; Um abraço! Clayton Rocha De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 12:06 Para: oracle_br@yahoogrupos.com.br Assunto: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 11:45 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela consta na all_objects mas nao existe... Uma das possibilidades seria a da tabela estar na recycle bin. Neste caso, ao consultar a view, você receberia: ORA-04063: view RFLRIBEIRO.VIEWTESTE has errors. Passa p/ gente o erro que você está recebendo, versão do banco e do sistema operacional. O erro acima foi simulado criando uma tabela de teste e uma view que a consulta e depois dropando a tabela. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Pessoal, Alguem sabe o que pode estar acontecendo? Quando faço: select * from all_objects where owner = upper('teste') ele me apresenta os objetos desse schema.. Acontece que estou tentando acessar algumas tabelas que ele me informou, mas não consigo pois da um erro falando q a tabela não existe!!! Não pode ser problema de permissão, pois eu já tentei com o system e com o dono das tabelas, que possuem privilégios necessários. Apenas para confirmar eu consigo acessar outras tabelas q ele me informou, o q confirma q não eh permissão.. Existe algum utilitário que faça uma checagem geral e atualize as views?? Pois estou desconfiado que essas tabelas realmente não existem e a view que está desatualizada.. Como acertar isso?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 11:45 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela consta na all_objects mas nao existe... Uma das possibilidades seria a da tabela estar na recycle bin. Neste caso, ao consultar a view, você receberia: ORA-04063: view RFLRIBEIRO.VIEWTESTE has errors. Passa p/ gente o erro que você está recebendo, versão do banco e do sistema operacional. O erro acima foi simulado criando uma tabela de teste e uma view que a consulta e depois dropando a tabela. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro
RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 11:45 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela consta na all_objects mas nao existe... Uma das possibilidades seria a da tabela estar na recycle bin. Neste caso, ao consultar a view, você receberia: ORA-04063: view RFLRIBEIRO.VIEWTESTE has errors. Passa p/ gente o erro que você está recebendo, versão do banco e do sistema operacional. O erro acima foi simulado criando uma tabela de teste e uma view que a consulta e depois dropando a tabela. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED
Re: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Faça a consulta de username na all_users e verifique se existem 2 usuários com mesmo nome, escritos de forma diferente. Se houver, logue-se como um deles e copie os objetos que lhe interessam e depois mande o outro que você não quer mais embora. Veja bem, eu mencionei objetos, não tabelas. Não se esqueça de olhar o restante dos objetos do schema antes de dar um drop nele. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br
RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Bom pessoal conseguir acessar.. reparem.. SQL select * from TESTE.csm098; não há linhas selecionadas SQL select * from TESTE.csm098; select * from TESTE.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe Por que isso ocorre?? As aspas no nome da tabela esta influenciando.. o que gera isso? Pq acontece? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: oracle_br@yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br
RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Renan, No Oracle, todo objeto tem como padrão o nome em LETRAS MAIÚSCULAS. Mas, se o desenvolvedor ou DBA quiserem, pode criar o objeto no padrão que quiser, para isso, o mesmo é criado entre aspas duplas. A tabela poderia se chamar CsM098, e a mesma só seria lida se fosse colocada desta forma entre aspas. Você pode corrigir isso com o rename: SQL rename csm098 to csm098. Abraços. Vinicius _ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Renan Nucci - CSM Software Enviada em: Monday, July 23, 2007 2:48 PM Para: oracle_br@yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Bom pessoal conseguir acessar.. reparem.. SQL select * from TESTE.csm098; não há linhas selecionadas SQL select * from TESTE.csm098; select * from TESTE.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe Por que isso ocorre?? As aspas no nome da tabela esta influenciando.. o que gera isso? Pq acontece? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com com De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com com mailto:renanxr3%40hotmail.com De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S
RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Renan, Você viu o email que enviei? Na verdade quem criou a tabela utilizou as aspas duplas e isso força o banco a criar a tabela com o nome em case sensitive exatamente igual ao definido. Em outras palavras, para o Oracle, create table teste é diferente de create table teste. Para resolver o seu problema será apenas executar o alter table abaixo que te enviei no email anterior. Espero ter ajudado. Abraço! Segue email anterior: Tente fazer o select abaixo: select * from TESTE.csm098; Se o select retornar linhas é porque o nome da tabela está em minúsculo. Para corrigir para maiúsculo execute o comando: Alter table TESTE.csm098 rename to csm098; Um abraço! Clayton Rocha De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:48 Para: oracle_br@yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Bom pessoal conseguir acessar.. reparem.. SQL select * from TESTE.csm098; não há linhas selecionadas SQL select * from TESTE.csm098; select * from TESTE.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe Por que isso ocorre?? As aspas no nome da tabela esta influenciando.. o que gera isso? Pq acontece? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER
Re: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
É exatamente o mesmo caso que mencionei anteriormente. Acontece que acabamos nos focando no nome do usuário e nem fizemos o mesmo teste como nome do objeto. P/ conservar o nome em minúsculas, ele foi criado utilizando . Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Bom pessoal conseguir acessar.. reparem.. SQL select * from TESTE.csm098; não há linhas selecionadas SQL select * from TESTE.csm098; select * from TESTE.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe Por que isso ocorre?? As aspas no nome da tabela esta influenciando.. o que gera isso? Pq acontece? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098
RES: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Obrigado Reginaldo e Clayton,, me ajudou bastante.. atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 15:34 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... É exatamente o mesmo caso que mencionei anteriormente. Acontece que acabamos nos focando no nome do usuário e nem fizemos o mesmo teste como nome do objeto. P/ conservar o nome em minúsculas, ele foi criado utilizando . Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Bom pessoal conseguir acessar.. reparem.. SQL select * from TESTE.csm098; não há linhas selecionadas SQL select * from TESTE.csm098; select * from TESTE.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe Por que isso ocorre?? As aspas no nome da tabela esta influenciando.. o que gera isso? Pq acontece? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro
RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe...
Desculpa entrar no meio da conversar, mas parece que o problema não está no usuário e sim no nome da tabela. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Renan Nucci - CSM Software Enviada em: segunda-feira, 23 de julho de 2007 14:31 Para: oracle_br@yahoogrupos.com.br Assunto: RES: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Mas se fosse isso o problema, eu não iria conseguir fazer o select na outra tabela usando o schema.. E outra eu criei esse usuário com esse script: Create USER teste IDENTIFIED BY teste Agora não consigo exlcuir essas tabelas.. Td minusculo.. Mas tem como eu ver como q foi criado? Ja que a coluna owner aparece sempre maiusculu?? atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 12:21 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela consta na all_objects mas nao existe... Você já pensou na possibilidade destes usuários terem sido criados utilizando na definição do nome? Neste caso, você teria 2 usuários distintos: teste e TESTE, como segue: [EMAIL PROTECTED] create user teste 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] create user TESTE 2 identified by teste 3 default tablespace users 4 temporary tablespace temp 5 profile default 6 account unlock 7 quota unlimited on users; User created. [EMAIL PROTECTED] select * from all_users order by username; USERNAME USER_ID CREATED -- -- ADEMPIERE 70 02/06/07 ANONYMOUS 39 30/06/05 BI 60 24/04/07 CTXSYS 36 30/06/05 DBSNMP 24 30/06/05 DIP 19 30/06/05 DMSYS 35 30/06/05 EXFSYS 34 30/06/05 HR 55 24/04/07 IX 57 24/04/07 MDDATA 50 30/06/05 MDSYS 46 30/06/05 MGMT_VIEW 53 30/06/05 OE 56 24/04/07 OLAPSYS 47 30/06/05 ORDPLUGINS 44 30/06/05 ORDSYS 43 30/06/05 OUTLN 11 30/06/05 PM 59 24/04/07 RFLRIBEIRO 69 02/06/07 SCOTT 54 30/06/05 SH 58 24/04/07 SI_INFORMTN_SCHEMA 45 30/06/05 SYS 0 30/06/05 SYSMAN 51 30/06/05 SYSTEM 5 30/06/05 TESTE 72 23/07/07 teste 71 23/07/07 TSMSYS 21 30/06/05 WMSYS 25 30/06/05 XDB 38 30/06/05 31 rows selected. Reginaldo Ribeiro Administrador de Bancos de Dados Oracle Certified Associate 10g DBcom IT Experts skype: rflribeiro msn: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br mobile: 551192344290 551196718255 e-mail: [EMAIL PROTECTED] mailto:rflribeiro%40dbcom.com.br mailto:rflribeiro%40dbcom.com.br site: www.dbcom.com.br Renan Nucci - CSM Software wrote: Está ae o q tentei fazer... Dei select na all_objects e vi q a tabela existe, Depois tentei dar um select nela.. deu erro!! Não eh permissão pois estou logado como system e consigo dar select em outra tabela desse schema.. E não eh permissão de objeto. .. Uso Oracle 10g. SQL select * from all_objects where owner = upper('teste') and object_name = 'csm098'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL TIMESTAMP STATUS T G S -- -- -- -- -- --- --- --- - - - TESTE csm098 54315 54315 TABLE 25/05/07 25/05/07 2007-05-25:09:47:29 VALID N N N 1 linha selecionada. SQL select * from teste.csm098; select * from teste.csm098 * ERRO na linha 1: ORA-00942: a tabela ou view não existe SQL select codigo, descricao from teste.produtos; CODIGO DESCRICAO -- -- 61 prod teste 62 prod teste1 42 produtoooteste 41 prod teste 22 produto1 23 produto1 6 linhas selecionadas. SQL show user USER é SYSTEM atenciosamente, Renan Nucci Desenvolvedor C# CSM Software Msn: [EMAIL PROTECTED] mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com mailto:renanxr3%40hotmail.com De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br] Em nome de rflribeiro Enviada em: segunda-feira, 23 de julho de 2007 11:45 Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br Assunto: Re: [oracle_br] Tabela consta na all_objects mas nao existe... Uma das
[oracle_br] TABELA DE NOME COMPOSTO
tenho uma tabela de nome composto! ... tb achei que nao tinha como fazer, porem eu tenho uma aqui o formatdo dela e o seguinte nome tabela 02-04_1 examente nesse formato... 2 nome e uma 'data' seguida de ifem e underline... quem souber como dou o select numa tabela dessa oracle 9.i pl/sql developer sao as ferramentas usadas __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]