[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