[oracle_br] Constraint Violada
Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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
Re: [oracle_br] Constraint Violada
Leticia, Vc tem que criar uma TRIGGER BEFORE INSERT desta tabela... Entao nesta trigger vc trata os valores antes da constranit Mauricio - Original Message - From: Leticia Souza [EMAIL PROTECTED] Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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
Re: [oracle_br] Constraint Violada
Não entendi porque vc quer fazer uma coisa que Oracle faz automaticamente. Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: undisclosed-recipients: Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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: [oracle_br] Constraint Violada
Como eu expliquei abaixo, eu tenho uma tabela, que faz inserções, e isso é rodado em batch. quem carrega esta tabela são processos aleatorios que não tem como validar isso antes de inserir nesta tabela. Então eu tenho que validar quando eu leio da tabela carregada para jogar na tabela da base , porém se tiver qualquer erro eu descarto o registro. Leticia -Mensagem original- De: Renan da Silveira Medeiros [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 9 de agosto de 2005 15:56 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Constraint Violada Não entendi porque vc quer fazer uma coisa que Oracle faz automaticamente. Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: undisclosed-recipients: Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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
Re: [oracle_br] Constraint Violada
Leticia, desculpe insisitir. Pelo que entendi vc faz carga numa tabela(sem constraint). Ai vc quer fazer tratamento de valores, antes da carga na tabela com constraints. Ao fazer inserção numa tabela, se acontecer uma violação de constraints, a mesma não é inserida na tabela. Continuo achando que vc tá fazendo coisa demais.. Para que criar constraints se vc vai validar antes ? Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: oracle_br@yahoogrupos.com.br Sent: Tuesday, August 09, 2005 4:01 PM Subject: RES: [oracle_br] Constraint Violada Como eu expliquei abaixo, eu tenho uma tabela, que faz inserções, e isso é rodado em batch. quem carrega esta tabela são processos aleatorios que não tem como validar isso antes de inserir nesta tabela. Então eu tenho que validar quando eu leio da tabela carregada para jogar na tabela da base , porém se tiver qualquer erro eu descarto o registro. Leticia -Mensagem original- De: Renan da Silveira Medeiros [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 9 de agosto de 2005 15:56 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Constraint Violada Não entendi porque vc quer fazer uma coisa que Oracle faz automaticamente. Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: undisclosed-recipients: Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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: [oracle_br] Constraint Violada
Olá Leticia, Não sei se ajudam mas caso o seu database seja versão 9i ou superior vc poderá trabalhar com a tabela EXCEPTIONS. script : $ORACLE_HOME/rdbms/admin/utlexptl Execute esse script com o usuario SYS e depois de habilite sua constraint para que caso alguma exceção ocorra, ele armazena a linha inválida nessa tabela. Para habilitar user : ALTER TABLE owner.tabela ENABLE VALIDADE CONSTRAINT contraint_check EXCEPTIONS INTO sys.exceptions [ ]'s Salvio Padlipskas -Mensagem original- De: Leticia Souza [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 9 de agosto de 2005 16:01 Para: oracle_br@yahoogrupos.com.br Assunto: RES: [oracle_br] Constraint Violada Como eu expliquei abaixo, eu tenho uma tabela, que faz inserções, e isso é rodado em batch. quem carrega esta tabela são processos aleatorios que não tem como validar isso antes de inserir nesta tabela. Então eu tenho que validar quando eu leio da tabela carregada para jogar na tabela da base , porém se tiver qualquer erro eu descarto o registro. Leticia -Mensagem original- De: Renan da Silveira Medeiros [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 9 de agosto de 2005 15:56 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Constraint Violada Não entendi porque vc quer fazer uma coisa que Oracle faz automaticamente. Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: undisclosed-recipients: Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ 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
Re: [oracle_br] Constraint Violada
Tem coisas, BUUUMM, que só os usuários fodem pra vc... essa é uma delas O_O O problema é que se ela realmente quiser pegar os registros inválidos ou que não estão de acordo com determinadas condições e enviar todos de uma só vez por email, então iria ter que rolar uma gambiarra de mandar para uma outra tabela e assim por diante. Já que a gambiarra é iminente, então carrege os dados em uma tabela auxiliar e valide os dados utilizando um procedimento qualquer. Aliás... Essa *técnica* é bastante utilizada em sistemas que trabalham com cargas de (muitos) titulos bancários provenientes de algums arquivo de texto satânico. Isso evita ter que ficar disparando exceptions em triggers de banco e fazendo os devidos tratamentos de erro na aplicação. Assim são carregados apenas dados limpos. Essa é uma utilização dessas gambiarras. É feio, mas o processamento é muito rápido (façam com 1 milhão de registros que vc's perceberão a diferença de velocidade) e não ocupa tanto recurso de CPU, memória e essas coisas encapetadas do oracle. []'s -- Alex Fernando Kirsten Oracle DBA (em formação) MSN: [EMAIL PROTECTED] Email: [EMAIL PROTECTED] On 8/9/05, Maurício Bertolucci [EMAIL PROTECTED] wrote: Renan, O que a Leticia quer e ter as linhas com erro para trata-las posteriormente, para enviar por email ou qq coisa assim... Leticia O problema que estou vendo eh que vc nao sabe o que as constraints fazem desta forma voce terá que ler o dicionario de dados do oracle, descobrir atraves dele quais as constriants para a sua tabela e entao pegar o codigo delas para descobrir o que tratar..., eh possivel, mas eh quase umaloucura.. Vc realmente nao tem como saber sempre antes o que suas constraints fazem?? Por exemplo eu faço exatamente este processo , leio um arquivo texto em uma tabela sem constraint, depois via uma proceudre schedulada trato todos os registros antes de inserir na tabela destino definitiva.., porem eu jah sei de antemao o que tratar... Mauricio - Original Message - From: Renan da Silveira Medeiros [EMAIL PROTECTED] To: oracle_br@yahoogrupos.com.br Sent: Tuesday, August 09, 2005 4:04 PM Subject: Re: [oracle_br] Constraint Violada Leticia, desculpe insisitir. Pelo que entendi vc faz carga numa tabela(sem constraint). Ai vc quer fazer tratamento de valores, antes da carga na tabela com constraints. Ao fazer inserção numa tabela, se acontecer uma violação de constraints, a mesma não é inserida na tabela. Continuo achando que vc tá fazendo coisa demais.. Para que criar constraints se vc vai validar antes ? Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: oracle_br@yahoogrupos.com.br Sent: Tuesday, August 09, 2005 4:01 PM Subject: RES: [oracle_br] Constraint Violada Como eu expliquei abaixo, eu tenho uma tabela, que faz inserções, e isso é rodado em batch. quem carrega esta tabela são processos aleatorios que não tem como validar isso antes de inserir nesta tabela. Então eu tenho que validar quando eu leio da tabela carregada para jogar na tabela da base , porém se tiver qualquer erro eu descarto o registro. Leticia -Mensagem original- De: Renan da Silveira Medeiros [mailto:[EMAIL PROTECTED] Enviada em: terça-feira, 9 de agosto de 2005 15:56 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Constraint Violada Não entendi porque vc quer fazer uma coisa que Oracle faz automaticamente. Renan Medeiros Coordenador de Suporte/Treinamento/Pré-venda Unimix Tecnologia Ltda 0 xx 61 9994 0586 0 xx 61 3201 - Original Message - From: Leticia Souza To: undisclosed-recipients: Sent: Tuesday, August 09, 2005 3:54 PM Subject: [oracle_br] Constraint Violada Olá Pessoal! Gostaria de saber se tem como eu fazer a validação de uma constraint do tipo check antes de inserir na tabela ? na verdade preciso fazer a validação da constraint antes do Oracle, preciso simular o que o Oracle faz ao dar erro de constraint violada. Alguém sabe como ? Qualquer ajuda é bem vinda ! Eu tenho uma tabela que é carregada por um processo onde tem os dados, os tipos de colunas, tamanhos, coluna, tabela ,etc, e tenho que fazer varias verificações nestes dados desta tabelas antes de outro processo comece a ler ela e carregar nas tabelas e colunas que constam em cada registro. Att. Leticia __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ -- Links