Fórum If numa trigger #43574

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


Tuiobecker

Tuiobecker

Responder

Posts

02/04/2004

Gandalf.nho

Não é mais fácil usar um generator pra atribuir o valor?


Responder

Gostei + 0

02/04/2004

Tuiobecker

nao eh somente um gerador, e que quando eh inserido uma entrega tenho que gerar um registro na tabela areceber, dai tem que passar os valor dos campos

jah consegui


Responder

Gostei + 0

02/04/2004

Gandalf.nho

Tudo bem, mas você pode fazer a mesma SQL, mas deixando a cargo do generator obter o dado do campo chave


Responder

Gostei + 0

05/04/2004

Maicon Loffi

INSERT INTO ARECEBER (CD_ARECEBER, CD_ENTREGA, SG_RECBIMENTO) VALUES ((SELECT (MAX(CD_ARECEBER)+1) FROM A_RECEBER), NEW.CD_ENTREFA, ´F´);


Faça uma trigger na tabela ARECEBER Before_Insert
begin
IF (NEW.CD_ARECEBER IS NULL) THEN NEW.CD_ARECEBER = 1;
end;

Espero ter ajudado.

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar