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

Jair jair em contatservice.com.br
Sex Nov 10 13:14:18 -03 2006


Não é melhor colocar todos os procedimentos dentro de uma SP passando os parâmetros  e chama-la da TIGGER?

Você deve usar o FOR SELECT pois seu SELECT retorna várias linhas.





*********** REPLY SEPARATOR  ***********

On 10/11/2006 at 11:56 Eduardo Jedliczka \(TeamFB\) wrote:

>Esta Trigger está em qual tabela ? Você REALMENTE precisa fazer este
>select 
>na tabela CHAMADAS ? Se precisar de todas as linhas, faça um FOR SELECT... 
>mas acho que tem algum problema de modelagem (ou lógica) aí...
>
>======================
>Eduardo Jedliczka
>Membro do TeamFB - FireBase
>Apucarana - PR
>======================
>"Posso não concordar com nada do que dizes.
>Mas defenderei até a morte o seu direito de dizê-lo"
>(Voltaire 1694-1778)
>----- Original Message ----- 
>From: "Leonardo Vinicius Freitag" <freitagnx em gmail.com>
>To: "FireBase" <lista em firebase.com.br>
>Sent: Thursday, November 09, 2006 6:13 PM
>Subject: Re: [firebase-br] AJUDA EM TRIGGER ERRO " Multiple rows 
>insingletonselect"
>
>
>Kra... acho que o seu select é que está retornando várias linhas e causando
>esse erro...
>Afinal de contas podem haver inúmeros registros da tabela como ENTREGUE ou
>não...
>Concorda?
>
>Leonardo
>
>
>2006/11/9, Jeudí Prando - GMail <jeudiprando em gmail.com>:
>>
>> um detalhesinho se voce começar a utilizar first nesses casos quando o
>seu
>> sistema rodar em uma maquina que estiver interbase e firebird e se for
>uma
>> bela sexta-feira...
>>
>> seu cliente vai te ligar lá pelas 18:00 falando que não consegue tirar um
>> certo relatório ou realizar uma certa venda porcausa dessa SP...
>>
>> é que o firebird 1..5 é meio que compativél com o interbase por utilizar
>a
>> gds32.dll
>>
>> e em casos que se tem interbase e firebird em uma mesma maquina e que os
>> dois serviços estão estartados e o usuario final não para um dos serviços
>> para utilizar as aplicações correspondentes ao seu servidor de banco de
>> dadpos por auto seu sistema deve funcionar em questões mais simples que é
>> justamente onde realizamos os testes geralmente... as vezes ate por
>> priguisa
>> rss... mas em questões especificas como o caso da utilização do first
>skip
>> e
>> outras funçoes especificas do firebird pode ocorrer erros criticos em seu
>> sistema...
>>
>> e te digo mais vai ser em uma bela sexta-feira apos as 18:00... e vai ser
>> seu cliente mais chato...
>>
>> eu tenho trauma de utilizar first as vezes por causa disso... rss é que
>no
>> ramo em que estamos nosso sistema atende a ponto de venda e gerenciador
>> comercial e na maioria desses clientes tem aquele programinha do banco
>> dele
>> que roda interbase... eu sofri ate começar a indicar a parada do serviço
>> de
>> banco de dados que não é correspondente ao aplicativo utilizado...
>>
>> tome cuidado só estou me antecipiando do erro
>>
>>
>>
>> --
>> "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
>>
>______________________________________________
>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
>
>
>-- 
>No virus found in this incoming message.
>Checked by AVG Free Edition.
>Version: 7.1.409 / Virus Database: 268.14.1/527 - Release Date: 9/11/2006


Jair Azambuja Viana
Analista de Sistemas
Porto Alegre - RS
MSN jair em contatservice.com.br





Mais detalhes sobre a lista de discussão lista