[firebase-br] AJUDA EM TRIGGER ERRO " Multiple rows insingletonselect"

Henrique Netzka (Vetor Sistemas) henrique em vetorsistemas.com.br
Qui Nov 9 17:54:49 -03 2006


É, tomando um gancho no e-mail posterior do Jeudí, porém respondendo a este 
aqui... Usar FIRST dentro de procedures é meio chato, não?! Seria melhor 
criar um cursor e sair após a primeira leitura, usando FOR (...) DO e 
bloqueando o loop! opinião pessoal......

Henrique Netzka
----- Original Message ----- 
From: "Jeudí Prando - GMail" <jeudiprando em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, November 09, 2006 6:24 PM
Subject: Re: [firebase-br] AJUDA EM TRIGGER ERRO " Multiple rows 
insingletonselect"


em seu select coloque "select first 1 ..." que deve resolver... mas deve
aver comportamente nao esperado uma vez que a sua condição retorna mais de
um registro ou seja o que se esta fazendo de acordo com a sua condição
deveria esta fazendo em dois registro...



--
"O Firebird não faz milagres mas se você trabalhar direitinho com ele o
mesmo pode fazer mágicas!"

----- Original Message ----- 
From: "Cesar" <cesar_newton em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, November 09, 2006 5:15 PM
Subject: [firebase-br] AJUDA EM TRIGGER ERRO " Multiple rows in
singletonselect"


AJUDA EM TRIGGER ERRO " Multiple rows in singleton select"

Estou fazendo uma trigger para atualizar o meu estoque até ai td bem esta
funcionando certinho
so que eu queria fazer assim
na tabela chamada tem um campo chamado situação...
se o campo situação tiver o dado ENTREGUE a trigger tem que tirar do estoque
se tiver outro dado que naum for ENTREGUE a trigger naum funciona...tem como
fazer isso/?
essa é a trigger  e oque esta em vermelho foi oque eu tentei fazer...mais
esta dando esse erro quando eu vou salvar na tabela Multiple rows in
singleton select

AS
declare variable SITUACAO varchar(1);
begin
  select CHAMADAS.situacao from chamadas
  into :SITUACAO;
  if (:SITUACAO = 'ENTREGUE') then
  begin
    IF (INSERTING) THEN
     UPDATE PECAS
     SET ESTOQUE = ESTOQUE - NEW.QUANT
     WHERE COD_PECA = NEW.COD_PECA;
  ELSE
  IF (DELETING) THEN
     UPDATE PECAS
     SET ESTOQUE = ESTOQUE + old.QUANT
     WHERE COD_PECA = old.COD_PECA;

  ELSE
IF (UPDATING) THEN BEGIN
     UPDATE PECAS
     SET ESTOQUE = ESTOQUE +old.QUANT
     WHERE
      COD_PECA = old.COD_PECA;

     UPDATE PECAS
     SET ESTOQUE = ESTOQUE - new.QUANT
     WHERE COD_PECA = new.COD_PECA;
   END
 END
 END
Newton Cesar
Seçao de Informatica
Construtora LR - Bauru/SP
informatica em construtoralr.com.br



_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
Registre seu aparelho agora!
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


______________________________________________
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 





Mais detalhes sobre a lista de discussão lista