[firebase-br] Criando Trigger

Mario Rodrigues marioirodrigues em gmail.com
Sex Jun 27 16:24:34 -03 2008


Salve a todos,

Consegui resolver a bronca, com ajuda do Marcelo torres...caso alguem
precise um dia...ficou assim:
AS
begin
  IF (INSERTING) THEN
UPDATE tbl_cd
SET tbl_cd.STATUS = 'Emprestado'
WHERE tbl_cd.id_cd = new.id_cd;
  ELSE
  IF (DELETING) THEN
UPDATE tbl_cd
SET tbl_cd.STATUS = 'Disponivel'
WHERE tbl_cd.id_cd = old.id_cd;
end

valeu a todos q me ajudaram

2008/6/27 Mario Rodrigues <marioirodrigues em gmail.com>:

> João Paulo,
>
> Pois é aconteceu isso sim...dai o q eu fiz:
> AS
> begin
>   IF (INSERTING) THEN
>     UPDATE tbl_cd
>     SET tbl_cd.status = 'Emprestado' from tbl_cd, tbl_emprestimo
>     WHERE tbl_emprestimo.id_cd = tbl_cd.id_cd and tbl_cd.status =
> 'Disponivel';
>   ELSE
>   IF (DELETING) THEN
>     UPDATE tbl_cd
>     SET tbl_cd.status = 'Disponivel' from tbl_cd, tbl_emprestimo
>     WHERE tbl_emprestimo.id_cd = tbl_cd.id_cd and tbl_cd.status =
> 'Emprestado';
>   ELSE
>  IF (UPDATING) THEN BEGIN
>     UPDATE tbl_cd
>     SET tbl_cd.status = 'Disponivel'  from tbl_cd, tbl_emprestimo
>     WHERE tbl_emprestimo.id_cd = tbl_cd.id_cd and tbl_cd.status =
> 'Emprestado';
> END
> end
> Isso no SQLServer funfa bacana mas no FB da o seguinte erro no momento de
> criar a trigger:
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 7, column 38.
> from.
> A linha 7 é essa
>     SET tbl_cd.status = 'Emprestado' from tbl_cd, tbl_emprestimo
> E a coluna 38 é o from...dai pergunto como fazer isso no FB? Alguem ja
> passou por isso?
> valeu pela ajuda de todos!!
>
> 2008/6/27 João Paulo <jpcarvalhoi2 em gmail.com>:
>
> Olá,  se vc estiver criando a trigger idêntica ao código que postou, após
>> alguma alteração em algum registro vc vai atualizar todos os registros que
>> estejam Disponíves para emprestado, vc deve utilizar a id do cd na
>> cláusula
>> where
>>
>>
>> On Thu, Jun 26, 2008 at 10:28 PM, Gustavo Moda <gustavo.moda em gmail.com>
>> wrote:
>>
>> > 2008/6/26 Mario Rodrigues <marioirodrigues em gmail.com>:
>> > > Gustavo,
>> > >
>> > > Seguinte...o tipo é uma varchar de 15. Disponivel, tem tamanho 10.
>> > > Dai o q eu fiz mudei o tipo de dados para BIGINT, e continuou a dar o
>> > erro.
>> > > E sobre a linha 21..veja vc mesmo é um END...do ultimo BEGIN
>> >
>> > Bigint é numero, inteiro.
>> > Aumente o varchar
>> >
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> >
>>
>>
>>
>> --
>> João Paulo de Carvalho Ignácio
>> Analista Desenvovedor
>> T1Brasil - Serviços de Informatica
>> Inspell Tecnologia
>> (32)9973-1367
>> jpcarvalhoi2 em gmail.com
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>



Mais detalhes sobre a lista de discussão lista