Fórum if numa trigger - interbase #224027
02/04/2004
0
Ola galera
tenho que fazer um if na trigger abaixo para que se o select max retorne nulo (dai nao tem nenhum registro na tabela) insira o valor 1 para o campo CD_ARECEBER, mas nao to conseguindo, se alguem puder me ajudar
/* TRIGGER PARA INSERIR REGISTRO NA TABELA ARECEBER QUANDO FOR REGISTRADA UMA ENTREGA */
CREATE TRIGGER INSERE_ARECEBER FOR ENTREGA
ACTIVE AFTER INSERT POSITION 0 AS
BEGIN
INSERT INTO ARECEBER (CD_ARECEBER, CD_ENTREGA, SG_RECBIMENTO) VALUES ((SELECT (MAX(CD_ARECEBER)+1) FROM A_RECEBER), NEW.CD_ENTREFA, ´F´);
END
grato
tenho que fazer um if na trigger abaixo para que se o select max retorne nulo (dai nao tem nenhum registro na tabela) insira o valor 1 para o campo CD_ARECEBER, mas nao to conseguindo, se alguem puder me ajudar
/* TRIGGER PARA INSERIR REGISTRO NA TABELA ARECEBER QUANDO FOR REGISTRADA UMA ENTREGA */
CREATE TRIGGER INSERE_ARECEBER FOR ENTREGA
ACTIVE AFTER INSERT POSITION 0 AS
BEGIN
INSERT INTO ARECEBER (CD_ARECEBER, CD_ENTREGA, SG_RECBIMENTO) VALUES ((SELECT (MAX(CD_ARECEBER)+1) FROM A_RECEBER), NEW.CD_ENTREFA, ´F´);
END
grato
Tuiobecker
Curtir tópico
+ 0
Responder
Posts
02/04/2004
Sh@dow
INSERT INTO ARECEBER (CD_ARECEBER, CD_ENTREGA, SG_RECBIMENTO) VALUES ((SELECT (MAX(CD_ARECEBER)+1) FROM A_RECEBER), NEW.CD_ENTREFA, ´F´);
END
Tente assim:
BEGIN
SELECT MAX(CD_ARECEBER)+1 FROM ARECEBER
INTO NEW.CD_ARECEBER;
IF (NEW.CD_ARECEBER IS NULL) THEN
NEW.CD_ARECEBER = 1;
INSERT INTO ARECEBER (CD_ARECEBER, CD_ENTREGA, SG_RECBIMENTO) VALUES (NEW.CD_ARECEBER, NEW.CD_ENTREFA, ´F´);
END
Responder
Gostei + 0
02/04/2004
Tuiobecker
blz vo testa
grato
grato
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)