[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