Array
(
)

execute statement

Cleiton Maciel
   - 04 nov 2009

Olá galera do firebird da um help aqui por favor.

Preciso que vocês registrem essa procedure no banco de vocês

eu uso IBExpert.


Meu banco de dados é multi-empresa por isso. Por isso que tenho mais de 1 generator.

 

CREATE SEQUENCE NUMERO_NF_EMP_1;

CREATE SEQUENCE NUMERO_NF_EMP_2;

ALTER SEQUENCE NUMERO_NF_EMP_1 RESTART WITH 0;

ALTER SEQUENCE NUMERO_NF_EMP_2 RESTART WITH 0;

 

CREATE PROCEDURE LIXO (

    xemp varchar(20) )

returns (

    notafiscal integer)

as

declare variable nota varchar(20);

declare variable sentenca varchar(3000); declare variable ngenerator varchar(50); begin

   ngenerator = 'numero_nf_emp_'||:xemp;

   Sentenca = 'SELECT GEN_ID(' || :ngenerator || ', 1) FROM RDB$DATABASE';

   execute statement sentenca into :nota;

 

   notafiscal = cast(nota as integer);

   suspend;

end

 


quando eu depuro essa procedure ela executa blz, preenche as variáveis como devem ser preenchidas, mas quando executo ela com F9 coloca o parametro de entrada. Dai ela ocorre o seguinte erro.

----------------------------------------------------------------------------

Unsuccessful execution caused by an unavailable  resource.

Variable type (position 0) in EXECUTE STATEMENT 'select gen_id(numero_nf_emp_1,1' INTO does not match returned

column type.

At procedure 'SP_NUMERA_NF'

 

----------------------------------------------------------------------------



Alguém que usa stored procedure por favor dal um help ai....galera..


Cleiton Maciel
   - 04 nov 2009

Galera gostariad de fechar o CHAMADO.

Pesquisando em outra lista com ajuda dos colegas descobrir que pra funcionar essa procedure
teria que atualizar a versão do firebird para versão 2.1.

Obrigado.  

0
|
0

Carlos Mazzi
   - 04 jul 2010

Tranquilo, chamado sendo fechado.. abracos++

0
|
0