Fórum Erro em trigger no firebird #617446

31/12/2021

0

Olá, recentemente(a uns dois dias atrás) eu comecei a estudar o firebird, dai como treino iria criar um "sistema" onde teria duas tabelas: TGFPAR(tabela que contém os códigos dos parceiros e as demais informações) e AD_MOVLINTEL(que registra todas as movimentações de linhas telefônicas). Então eu estava tentando criar uma trigger na tabela AD_MOVLINTEL, para verificar se o código de parceiro inserido esta na tabela TGFPAR. Porém sempre da o seguinte erro:

SQL Error [335544851] [42000]: Dynamic SQL Error; SQL error code = -104; Unexpected end of command - line 6, column 25 [SQLState:42000, ISC error code:335544851]



SEGUE O CÓDIGO DA TRIGGER:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TRIGGER TRG_MOVLINTEL FOR AD_MOVLINTEL
ACTIVE
BEFORE INSERT
POSITION 0
AS
DECLARE VARIABLE vCOUNT integer;
BEGIN
    SELECT COUNT(CODPARC) FROM TGFPAR WHERE CODPARC = NEW.AD_CODPARC INTO :VCOUNT ;
 
    IF(VCOUNT = 0) THEN
        INSERT RESULTADOS SET resultado = "Não existe esse parceiro";
    END IF
         
END
Ramsés

Ramsés

Responder

Post mais votado

31/12/2021

Já que você quer usar recursos do banco de dados, faça referência à chave estrangeira, assim não precisa fazer qualquer controle; o banco de dados faz o controle e mantém a integridade referencial.

Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

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

Aceitar