Fórum Execute Statement GEN_ID Erro #46975

26/09/2004

0

Oi Pessoal,

Estou querendo fazer uma procedure genérica para retornar o generator das tabelas do meu sistema
Só que quando executo, ele retorna uma mensagem de erro: ´variable type (position 0) does not match returned c´
Ver rotina abaixo. Qual é o erro ou alguém tem uma idéia melhor.

CREATE PROCEDURE PROC_GEN_ID (
    I_GEN VARCHAR(50))
RETURNS (
    O_GEN_ID INTEGER)
AS
BEGIN
  EXECUTE STATEMENT ´SELECT GEN_ID(´ || :I_GEN || ´,1) FROM RDB$DATABASE´ INTO :O_GEN_ID;
END


:arrow: [color=red:1cd7328623]Título alterado pelo Moderador oTTo.[/color:1cd7328623]
:idea: [color=blue:1cd7328623][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:1cd7328623]
:idea: [color=blue:1cd7328623]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:1cd7328623]
:idea: [color=blue:1cd7328623]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:1cd7328623]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:1cd7328623] Pesquisar[/url] no topo da Página.[/color:1cd7328623]
:idea: [color=blue:1cd7328623]Evite usar caixa alta nos títulos.[/color:1cd7328623]


Danilo Junior

Danilo Junior

Responder

Posts

26/09/2004

Beppe

Os geradores são 64 bits, e não 32 bits como estava usando. Se vc declarar o retorna da sua SP como BIGINT deve dar certo. Ou se vc quiser que a SP retorne INTEGER mesmo, atribua o gerador em uma nova variável local e depois atribua ao retorno da função.

Outra coisa: antes do end, está faltando um suspend.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar