[firebase-br] Zerar generator em sp tem como ?
NextCorp
nextcorp em nextcorp.com.br
Ter Maio 11 14:34:49 -03 2010
OI Caio
Era isto mesmo. Testes assim tb, mas na hora não percebi a influência do
into.
um abraço e obrigado
Washington
--------------------------------------------------
From: "Caio César Tavares" <caiotavares em assessorpublico.com.br>
Sent: Monday, May 10, 2010 5:55 PM
To: <lista em firebase.com.br>
Subject: Re: [firebase-br] Zerar generator em sp tem como ?
> Olá Washington.
>
> O problema está que a instrução 'set generator gen_os_sequencial to 0' não
> retorna nenhum valor.
>
> então o "INTO" está errado.
>
> Troque:
> execute statement wsql into :wgen;
> Por:
> execute statement wsql;
>
> Para obter o valor atual do seu Generator faça um Select simples
> wsql = 'select gen_id(gen_os_sequencial, 0) from rdb$database';
> execute statement wsql into :wgen;
>
> Espero ter ajudado.
>
> ####################################################################################################
>
>
> "NextCorp" <nextcorp em nextcorp.com.br> escreveu na mensagem
> news:3FF4701482FB486FBC2E13874F598E49 em nextcorpnote...
> Olá
>
> Estou tentando zerar um generator em uma sp, já li em alguns post que não
> dá, mas será que não funciona mesmo ?
>
> Segue abaixo a sp que estou tentando fazer isto, mas está dando a seguinte
> mensagem:
>
> Unsuccessful execution caused by an unavailable resource.
> Wrong request type in EXECUTE STATEMENT 'set generator gen_os_sequencial'.
> At procedure 'SP_ZERA_SEQUENCIA_OS' line: 24, col: 1.
>
>
> ou seja o tipo de pedido está incorreto, mas por que ?
>
>
> CREATE OR ALTER PROCEDURE SP_ZERA_SEQUENCIA_OS (
> wdata date)
> as
> declare variable wsql varchar(100);
> declare variable wgen integer;
> declare variable wcontrole integer;
> begin
> select first 1 os_controle
> from ordens_servicos
> where (udf_copy(os_numero,7,2) = udf_copy(Cast(extract(year from
> :wdata) as varchar(4)),3,2))
> into :wcontrole;
>
> if (row_count = 0) then
> begin
> /* reseta generator para zero no inicio do ano */
> wsql= 'set generator gen_os_sequencial to 0';
>
> -- executa o sql retornando a variavel wgen
> execute statement wsql into :wgen;
>
> if (:wgen <> 0) then
> exception exception_msg 'A sequência do número da OS não foi
> zerada. Informe !!!';
> end
> end^
>
>
> Atenciosamente
>
> Washington André Muller da silva
>
> #######################
> NextCorp Informática Ltda
> www.nextcorp.com.br
> nextcorp em nextcorp.com.br
> 0xx-(51)-3037-6605
> #######################
> ______________________________________________
> 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
>
>
>
>
>
> ______________________________________________
> 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