[firebase-br] Problema com procedure

Kléber Caneva kdcc em terra.com.br
Qui Nov 17 09:26:25 -03 2005


Se não me engano o FB não aceita comando DDL em SP.

Mas acho que você pode usar o EXECUTE STATEMENT para montar a rotina 
original.

DO BEGIN
   VAR_OLD_VALUE = GEN_ID(VAR_GENERATOR,0);
   EXECUTE STATMENT 'GEN_ID(' || VAR_GENERATOR || ', (' || VAR_OLD_VALUE || 
'* -1))' ;
ou
   EXECUTE STATMENT 'SELECT GEN_ID(' || VAR_GENERATOR || ', (' || 
VAR_OLD_VALUE || '* -1)) FROM RDB$DATABASE' ;
   SUSPEND;
END

[]´s

Kléber Caneva


----- Original Message ----- 
From: "Eduardo Pereira" <ecunha-listas em superig.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, November 16, 2005 4:38 PM
Subject: Re: [firebase-br] Problema com procedure


> Oseas,
>
> Tente o seguinte (não cheguei  testar):
>
> Substitua o
>
> DO BEGIN
>    VAR_OLD_VALUE = GEN_ID(VAR_GENERATOR,0);
>    GEN_ID(VAR_GENERATOR, (VAR_OLD_VALUE * -1));
>    SUSPEND;
> END
>
> por:
>
>  DO BEGIN
>
>       EXECUTE STATEMENT 'SET GENERATOR '||VAR_GENERATOR||' TO 0';
>
>  END
>
>
> Se eu não me engano, não é necessário o SUSPEND.
>
>
> []'s
> Eduardo Pereira
>
>
>
> ----- Original Message ----- 
> From: "Oseas 'mentux' Tormen" <mentux em yahoo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, November 16, 2005 10:03 AM
> Subject: [firebase-br] Problema com procedure
>
>
> estamos com um problema a algum tempo na empresa, precisamos fazer uma
> procedure que zere os generators na base de dados, o exemplo está abaixo, 
> o
> problema é que a procedure nao aceita que eu passe para o comando a 
> variavel
> com o nome do generator, alguém jah fez algo assim, ou sabe o q devo fazer
> para poder funcionar esta procedure?
>
>
> procedure___________________________________
>
>
> CREATE PROCEDURE PP_ZERAR_ALL_GENERATORS
> AS
> DECLARE VARIABLE VAR_GENERATOR VARCHAR(31);
> DECLARE VARIABLE VAR_OLD_VALUE INTEGER;
> BEGIN
>  FOR
>    SELECT RDB$GENERATORS.RDB$GENERATOR_NAME
>    FROM RDB$GENERATORS
>    WHERE RDB$GENERATORS.RDB$SYSTEM_FLAG IS NULL
>    ORDER BY RDB$GENERATORS.RDB$GENERATOR_ID
>
>    INTO :VAR_GENERATOR
>
>  DO BEGIN
>    VAR_OLD_VALUE = GEN_ID(VAR_GENERATOR,0);
>    GEN_ID(VAR_GENERATOR, (VAR_OLD_VALUE * -1));
>    SUSPEND;
>  END
> END
>
>
>
>
>
> -- 
> ____________________________
> att.: Oseas 'mentux' Tormen
>
>
> Celular: +55 (49) 8403-0836
> Cidade.: Chapecó - SC - BR
> +++++++++++++++++++++++++++++++++++++++++
>
> NM Informática
> Desenvolvimento de Softwares Hospitalares
> Fone Com.: +55 (49) 3322-4772
> Fone Cel.: +55 (49) 8403-1993
> Rua......: Nereu Ramos, Ed. CPC
> Bairro...: Centro
> Cidade...: Chapecó - SC - BR
> +++++++++++++++++++++++++++++++++++++++++
>
>
>
>
>
>
> --------------------------------------------------------------------------------
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
>
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
> http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1132167415.145871.21143.cabue.terra.com.br,6054,Des15,Des15
>
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 16/11/2005 / Versão: 
> 4.4.00/4629
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
>


--------------------------------------------------------------------------------


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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