Ilano 0 Denunciar post Postado Setembro 15, 2014 Olá pessoal,Estou tentando criar uma trigger que possa atualizar o campo número de matrícula. Para isso tentei fazer da seguinte forma, mas sem sucesso: CREATE TRIGGER `d_alunos_before_upd_tr` BEFORE UPDATE ON `d_alunos`FOR EACH ROWBEGINSET @pUnidade = OLD.Ud_Codigo;SET @pCurso = OLD.Cur_Codigo;SET @pTurma = ODL.Alu_TurmaIngresso;SET @pMatricula = (SELECT CONCAT(CAST(LPAD(Ud_Codigo, 2, 0) AS CHAR(2)), ".",CAST(LPAD(Cur_Codigo, 2, 0) AS CHAR(2)), ".",SUBSTR(Alu_TurmaIngresso, 3, 2), ".",SUBSTR(Alu_TurmaIngresso, 6, 1), ".",CAST(LPAD(COUNT(*) + 1, 4, 0) AS CHAR(4))) AS CONTARFROM d_alunosWHERE Ud_Codigo = @pUnidade AND Cur_Codigo = @pCurso AND Alu_TurmaIngresso = @pTurmaGROUP BY Ud_Codigo, Cur_Codigo, Alu_TurmaIngresso);OLD.Alu_Matricula = @pMatricula;END; Alguém poderia me dar uma ajuda nessa trigger?Grato,Ilano. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 15, 2014 O deu deu de errado ? Porque não utilizar um auto-increment ? Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Setembro 15, 2014 Olá Motta, Desde já agradeço sua atenção. Respondendo às suas perguntas: 1. O que deu de errado? Não está executando a trigger. E também não retorna mensagem alguma de erro. 2. Porque não utilizar um auto-increment? Não posso criar um auto-increment pois os quatro últimos dígitos da matrícula terão que ser reiniciados a cada nova turma de ingresso. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 15, 2014 Pergunta simples , não está fazendo no INSERT ? A triger é de UPDATE CREATE TRIGGER `d_alunos_before_upd_tr` BEFORE UPDATE ON `d_alunos` FOR EACH ROW ... Compartilhar este post Link para o post Compartilhar em outros sites