[firebase-br] Procedure generica para pegar generator

Fábio Marques fmarques em nautilus.com.br
Sex Mar 27 16:02:37 -03 2009


    Nunca utilizei o IBExpert, mas acredito que você deva iniciar com 
SET TERM ^ ;

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