execute statement

04/11/2009

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

Preciso que vocês registrem essa procedure no banco de vocêseu 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

Respostas

04/11/2009

Cleiton Maciel

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.  
Responder Citar

04/07/2010

Carlos Mazzi

Tranquilo, chamado sendo fechado.. abracos++
Responder Citar