[firebase-br] Res: ajuda simples com trigger

fabinho gatascheguei em yahoo.com.br
Sáb Jul 28 17:31:03 -03 2007


Deu certo! Muito obrigado sr André e a todos os colegas que colaboraram na 
solução.




----- Original Message ----- 
From: "Andre do Amaral Pellissari" <andredoamaral em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, July 27, 2007 4:20 PM
Subject: [firebase-br] Res: ajuda simples com trigger


cara ... axo q se vc colocar uma consistencia com o old.USUAR_APELIDO  <> 
new.USUAR_APELIDO resolve ... tipo

IF (NUMROWS > 0) and (old.USUAR_APELIDO  <> new.USUAR_APELIDO) THEN



André - andredoamaral em yahoo.com.br
MSN   - andrepellissari em hotmail.com




----- Mensagem original ----
De: Fabinho <gatascheguei em yahoo.com.br>
Para: lista em firebase.com.br
Enviadas: Sexta-feira, 27 de Julho de 2007 13:44:02
Assunto: [firebase-br] ajuda simples com trigger


Senhores, boa tarde

A trigger abaixo serve para verificar se não existem valores iguais no campo 
USUAR_APELIDO, em toda a tabela. Ela dispara uma expection caso o valor seja 
repetido.. funciona como se fosse um campo UNIQUE, certo?

Mas acontece que, se eu altero outros campos, na hora do post, ele dispara a 
exception, porque ele busca o valor nesse mesmo registro também. segue 
exemplo

tabela usuários
codigo        apelido        nome
1                joão            joão da silva
2                mario          Tissiane Souza
3                maria            Pedro Alcântara


quando altero, por exemplo, o nome do joão da silva, ele dispara a exception 
chamada pela trigger abaixo:


CREATE TRIGGER TRIGG_USUARIODUPLICADO FOR USUARIO
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
DECLARE VARIABLE NUMROWS INTEGER;
BEGIN
SELECT COUNT(*) FROM USUARIO
WHERE NEW.USUAR_APELIDO = usuar_apelido
INTO :NUMROWS;
IF (NUMROWS > 0) THEN
EXCEPTION excep_usuarioduplicado;
END


O que faço para ele buscar o valor na tabela toda, menos no registro atual?


grato!


      Alertas do Yahoo! Mail em seu celular. Saiba mais em 
http://br.mobile.yahoo.com/mailalertas/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


      Flickr agora em português. Você cria, todo mundo vê.
http://www.flickr.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


-- 
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.22/922 - Release Date: 27/7/2007 
06:08






Mais detalhes sobre a lista de discussão lista