Ir para conteúdo
Fórum Script Brasil
  • 0

Triggers no ibconsole 6.5


hudsmar

Pergunta

Boa tarde.

Estou com um probleminha, não consigo rodar essa trigger no ibconsole 6.5

CREATE TRIGGER Apaga_Medidas_Pagamentos for Aluno

FOR DELETE

AS

DELETE Medidas

FROM Medidas m INNER JOIN Deleted d

ON m.COD_ALU = d.COD_ALU

DELETE Pagamento

FROM Pagamento p INNER JOIN Deleted d

ON p.COD_ALU = d.COD_ALU

/**********************************************************************/

GO

/**********************************************************************/

CREATE TRIGGER Novo_Vencimento

ON Pagamento

FOR INSERT

AS

DECLARE @DATA DateTime,

@DATANOVA DateTime

SET @DATA = (Select A.DATA_VENC FROM Aluno A INNER JOIN Inserted i ON A.COD_ALU = i.COD_ALU)

SET @DATANOVA = Dateadd(m,1,@DATA)

UPDATE Aluno

SET DATA_VENC = @DATANOVA

FROM Aluno a INNER JOIN Inserted i

ON a.COD_ALU = i.COD_ALU

/**********************************************************************/

GO

/**********************************************************************/

CREATE TRIGGER TotMensal_DtVenc

ON Aluno

FOR INSERT

AS

DECLARE @1 Decimal(12,2), @2 Decimal(12,2), @3 Decimal(12,2), @4 Decimal(12,2), @5 Decimal(12,2),

@6 Decimal(12,2), @CODIGO int, @TOTAL Decimal(12,2)

SET @CODIGO =(SELECT a.COD_ALU FROM Aluno a, Inserted i WHERE a.COD_ALU = i.COD_ALU)

SET @1= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD1 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @2= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD2 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @3= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD3 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @4= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD4 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @5= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD5 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @6= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD6 = M.COD_MOD AND COD_ALU = @CODIGO)

IF @1 IS Null Set @1 = 0

IF @2 IS Null Set @2 = 0

IF @3 IS Null Set @3 = 0

IF @4 IS Null Set @4 = 0

IF @5 Is Null Set @5 = 0

IF @6 Is Null Set @6 = 0

SET @TOTAL = (@1+@2+@3+@4+@5+@6)

UPDATE Aluno

SET VLR_DEVIDO = @TOTAL,

DATA_VENC = a.DATA_CAD

FROM Aluno a, Inserted i

WHERE i.COD_ALU = a.COD_ALU

/**********************************************************************/

GO

/**********************************************************************/

CREATE TRIGGER Altera_Mensalidade

ON Aluno

FOR UPDATE

AS

DECLARE @1 Decimal(12,2), @2 Decimal(12,2), @3 Decimal(12,2), @4 Decimal(12,2), @5 Decimal(12,2),

@6 Decimal(12,2), @CODIGO int, @TOTAL Decimal(12,2)

SET @CODIGO =(SELECT a.COD_ALU FROM Aluno a, Inserted i WHERE a.COD_ALU = i.COD_ALU)

SET @1= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD1 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @2= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD2 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @3= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD3 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @4= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD4 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @5= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD5 = M.COD_MOD AND COD_ALU = @CODIGO)

SET @6= (SELECT M.MENSALIDADE FROM ALUNO A, MODALIDADE M WHERE A.COD_MOD6 = M.COD_MOD AND COD_ALU = @CODIGO)

IF @1 IS Null Set @1 = 0

IF @2 IS Null Set @2 = 0

IF @3 IS Null Set @3 = 0

IF @4 IS Null Set @4 = 0

IF @5 Is Null Set @5 = 0

IF @6 Is Null Set @6 = 0

SET @TOTAL = (@1+@2+@3+@4+@5+@6)

UPDATE Aluno

SET VLR_DEVIDO = @TOTAL

FROM Aluno a INNER JOIN Inserted i

ON a.COD_ALU = i.COD_ALU

só falta fazer rodas isso para meu programa funcionar..

se alguém poder me ajudar.. agradeçerria muito

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...