Trigger
Proposta do Trabalho
Considerando a seguinte modelagem:
Area Cdarea noarea
Curso CdCurso NoCurso CdArea TotMensal QtdAlunos
Aluno CdAluno NoAluno CdCurso VlrMensal CdCidade QtdDisciplinas
Retirada CdRetirada CdLivro CdAluno DtRetirada DtDevolucao
Cidade Cdcidade Nocidade UF QtdAlunos Livro Cdlivro Titulo
Disciplina Turma Cdaluno Cddisciplina CdDisciplina NoDisciplina QtdAlunos
1. Criação de triggers para manter atualizados os seguintes campos. a) Curso.QtdAlunoseCidade.QtdAlunos
--| INSERT |-createtriggert_aluno_insert onaluno { forinsert asdeclare@cdcursonumeric select@cdcurso=cdcurso frominserted updatecurso setqtdalunos=qtdalunos+1 wherecdcurso=@cdcurso } --| DELETE |-createtriggert_aluno_delete onaluno { fordelete asdeclare@cdcursonumeric select@cdcurso=cdcurso fromdeleted updatecurso setqtdalunos=qtdalunos-1 wherecdcurso=@cdcurso } --| UPDATE |-createtriggert_aluno_update onaluno { forupdate asdeclare@cdcursonumeric, @cdcursoanumeric IFUPDATE(CDCURSO) { select@cdcurso=cdcurso frominserted select@cdcursoa=cdcurso fromdeleted updatecurso setqtdalunos=qtdalunos-1 wherecdcurso=@cdcursoa updatecurso setqtdalunos=qtdalunos+1 wherecdcurso=@cdcurso } } } } --| INSERT |-createtriggerc_aluno_insert onaluno { forinsert asdeclare@cdcidadenumeric select@cdcidade=cdcidade frominserted updatecidade setqtdalunos=qtdalunos+1 wherecdcidade=@cdcidade } --| DELETE |-createtriggerc_aluno_delete onaluno { fordelete asdeclare@cdcidadenumeric select@cdcidade=cdcidade fromdeleted updatecidade setqtdalunos=qtdalunos-1 wherecdcidade=@cdcidade } --| UPDATE |-createtriggerc_aluno_update onaluno { forupdate asdeclare@cdcidadenumeric, @cdcidadeanumeric IFUPDATE(CDCIDADE) { select@cdcidade=cdcidade frominserted select@cdcidadea=cdcidade fromdeleted updatecidade setqtdalunos=qtdalunos- 1 wherecdcidade=@cdcidadea updatecidade setqtdalunos=qtdalunos+ 1 wherecdcidade=@cdcidade
b) Curso.TotMensal
--| INSERT