[firebase-br] Procedure generica para pegar generator

Fábio Marques fmarques em nautilus.com.br
Sex Mar 27 15:01:34 -03 2009


    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
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>
>> 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




Mais detalhes sobre a lista de discussão lista