Fórum Problemas com Stored Procedure #51787
26/07/2005
0
execute PROCEDURE SPGRARIT (515,3,7,2005,2,´1234569´,´2005/10/10´,´p´,12)
SET TERM @;
CREATE PROCEDURE SPGRARIT (ITEM INTEGER,QTDE SMALLINT, MESENT SMALLINT,ANOENT SMALLINT,DOCENT INTEGER,
LOTE VARCHAR(20),VALIDADE DATE,TIPOMOV CHAR(1),ARM SMALLINT)
RETURNS (ITEM1 INTEGER, SEQ1 INTEGER)
AS
DECLARE VARIABLE SEQ INTEGER;
DECLARE VARIABLE QTDE1 INTEGER;
BEGIN
SELECT MAX(SEQ) FROM GERASITE WHERE ITEM = :ITEM INTO :SEQ;
SEQ1 = :SEQ + 1;
WHILE (QTDE < QTDE1) DO
BEGIN
QTDE1 = QTDE1 + 1;
SEQ = SEQ + 1;
INSERT INTO GERASITE (ITEM,SEQ,MES_ENT,ANO_ENT,DOC_ENT,LOTE,VALIDADE,TIPO_MOV,ARM) VALUES
(:ITEM,:SEQ,:MESENT,:ANOENT,:DOCENT,:LOTE,:VALIDADE,:TIPOMOV,:ARM);
END
ITEM1 = :ITEM;
SUSPEND;
END;@
[color=green:ace0476125]Movido de Delphi para Interbase/Firebird[/color:ace0476125]
Leonardobhbr
Curtir tópico
+ 0Posts
26/07/2005
Afarias
select * from SPGRARIT (515,3,7,2005,2,´1234569´,´2005/10/10´,´p´,12)
não sei se é o caso (mas não parece q seja) ... no mais ...
... como assim não acontece nada?!? Então o procedimento não está inserindo os valores corretamente na tabela GERASITE ?!?!
T+
Gostei + 0
27/07/2005
Leonardobhbr
Gostei + 0
27/07/2005
Gandalf.nho
Gostei + 0
28/07/2005
Beppe
1) SELECT MAX(SEQ) para SELECT coalesce(MAX(SEQ), 0)
2) Inicialize QTDE1
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)