[firebase-br] Procedure generica para pegar generator

Tiago tijgrillo em gmail.com
Sex Mar 27 15:38:07 -03 2009


Ibexpert.

ficou assim no meu

CREATE OR ALTER PROCEDURE PROXIMOID (
    GENERATOR_NAME CHAR(31))
RETURNS (
    GENERATOR_VALUE INTEGER)
AS
DECLARE VARIABLE GEN INTEGER;
BEGIN
 /* write your code here */
 EXECUTE STATEMENT 'SELECT GEN_ID("' || :GENERATOR_NAME || '",0) FROM
RDB$DATABASE'
 INTO :GENERATOR_VALUE;
 SUSPEND;
END^

SET TERM ; ^

2009/3/27 Fábio Marques <fmarques em nautilus.com.br>

>   Muito estranho. Extraí o DDL a partir do meu banco de dados aqui!
>
>   Alguns detalhes: o comando em si (SELECT ...) fica entre aspas simples,
> as únicas aspas duplas ficam adjacentes aos parênteses, conforme o texto no
> e-mail. Pode ser algum problema na hora de colar (^C^V) na sua ferramenta de
> administração do fb.
>
>   A propósito, utilizas qual ferramenta?
>
> Atenciosamente,
>
>
> --
> F. Marques
> Systems Analyst/IT Consultant
> E-mail/MSN: fmarques em nautilus.com.br
> Home Page: www.nautilus.com.br/~fmarques<http://www.nautilus.com.br/%7Efmarques>
> Mobile: 91 8208-5996 (TIM) & 8859-3998 (OI) / ICQ: 267-074-196 Linux
> Registred User #362204 (debian 5.0 "Lenny")
> Brazilian Computer Society Member #18201
>
> "The box said: Requires MS Windows or better, so I instaled Linux"
>
>
> Tiago wrote:
>
>> Fabio, dá erro. Aqui é firebird 1.5, não sei...
>>
>> O erro: Unsuccessful exception caused by an unavaliable resource.
>>           Variable type (position 0) in EXECUTE STATEMENT ''SELECT
>> GEN_ID(GEN_CODPCRC             ,0) F' INTO does not match return
>>
>> obs1: Tirei a aspas duplas do nome do generator, mas com elas o erro é o
>> mesmo.
>> obs2: Sim e ele fica este espaço "vazio" e só aparece até o F na msg de
>> erro.
>>
>> Obrigado.
>> Tiago.
>>
>>
>> 2009/3/27 Fábio Marques <fmarques em nautilus.com.br>
>>
>>
>>
>>>  Genericamente falando, faria como abaixo. Adapte as suas necessidades.
>>>
>>>
>>>
>>>> SET TERM ^ ;
>>>>
>>>> CREATE PROCEDURE PROXIMOID (
>>>>   GENERATOR_NAME Char(31) )
>>>> RETURNS (
>>>>   GENERATOR_VALUE Integer )
>>>> AS
>>>> DECLARE VARIABLE GEN INTEGER;
>>>> BEGIN
>>>>  /* write your code here */
>>>>  EXECUTE STATEMENT 'SELECT GEN_ID("' || :GENERATOR_NAME || '",0) FROM
>>>> RDB$DATABASE' INTO :GENERATOR_VALUE;
>>>>  SUSPEND;
>>>> END^
>>>> SET TERM ; ^
>>>>
>>>> GRANT EXECUTE  ON PROCEDURE PROXIMOID TO SYSDBA;
>>>>
>>>>
>>>>
>>> Abraços,
>>>
>>> --
>>> F. Marques
>>> Systems Analyst/IT Consultant
>>> E-mail/MSN: fmarques em nautilus.com.br
>>> Home Page: www.nautilus.com.br/~fmarques<http://www.nautilus.com.br/%7Efmarques>
>>> <http://www.nautilus.com.br/%7Efmarques>
>>>
>>> Mobile: 91 8208-5996 (TIM) & 8859-3998 (OI) / ICQ: 267-074-196 Linux
>>> Registred User #362204 (debian 5.0 "Lenny")
>>> Brazilian Computer Society Member #18201
>>>
>>> "The box said: Requires MS Windows or better, so I instaled Linux"
>>>
>>>
>>> Tiago wrote:
>>>
>>>
>>>
>>>> Ola,
>>>>
>>>>     Não estou conseguindo dar o comando
>>>>          SELECT GEN_ID(GEN_CODPCRC, :INC) FROM RDB$DATABASE
>>>>     No query designer do Visual Studio 2008. Então pensei em criar uma
>>>> procedure para isto. Mas queria uma genérica tipo que eu passasse como
>>>> parametro o campo, será que tem como?
>>>>
>>>>
>>>> obrigado,
>>>> Tiago
>>>> ______________________________________________
>>>> 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
>>>
>>>
>>>
>> ______________________________________________
>> 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