[firebase-br] Erro em EXECUTE PROCEDURE
Álvaro Vieira
alvaro.vieira em gmail.com
Seg Ago 1 11:15:48 -03 2005
Pessoal,
Mais uma vez, peço ajuda pois estou apanhando das SP :(
Quando crio uma procedure que chama a procedure abaixo, recebo o erro :
Statement failed, SQLCODE = -104
invalid request BLR at offset 278
-parameter mismatch for procedure SP_FONE_GRAVAR
Alguém pode me dar dizer o que está dando errado?
OBS: O mais estranho é que com o comando "EXECUTE PROCEDURE
sp_fone_gravar (:new_id, :ddd, :fone, :ramal, :tipo, :valido);"
funciona, mas se uso "EXECUTE PROCEDURE sp_fone_gravar (:fone_id,
:ddd, :fone, :ramal, :tipo, :valido) RETURNING_VALUES (:new_id);", não
funciona.
CREATE PROCEDURE sp_fone_gravar (id INTEGER, ddd INTEGER, fone INTEGER,
ramal INTEGER, tipo INTEGER, valido INTEGER)
RETURNS (
new_id INTEGER
) AS
BEGIN
IF (id > 0) THEN
BEGIN
UPDATE tb_fone SET ddd = :ddd, fone = :fone, ramal = :ramal,
valido = :valido WHERE id = :id;
new_id = id;
END
ELSE
BEGIN
SELECT GEN_ID(gen_tb_fone, 1) FROM rdb$database INTO :new_id;
INSERT INTO tb_fone (id, ddd, fone, ramal, tipo, valido)
VALUES (:new_id, :ddd, :fone, :ramal, :tipo, :valido);
END
SUSPEND;
END ^
Abraços e desculpem o email longo.
--
Álvaro Vieira
alvaro.vieira em gmail.com
Mais detalhes sobre a lista de discussão lista