Trigger

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (319 palavras )
  • Download(s) : 0
  • Publicado : 27 de outubro de 2012
Ler documento completo
Amostra do texto
Banco de Dados II – Triggers
Proposta do Trabalho

Considerando a seguinte modelagem:

Area Cdarea noarea

Curso CdCurso NoCurso CdArea TotMensal QtdAlunos

Aluno CdAluno NoAluno CdCursoVlrMensal CdCidade QtdDisciplinas

Retirada CdRetirada CdLivro CdAluno DtRetirada DtDevolucao

Cidade Cdcidade Nocidade UF QtdAlunos Livro Cdlivro Titulo

Disciplina Turma Cdaluno CddisciplinaCdDisciplina 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 { fordeleteasdeclare@cdcursonumeric select@cdcurso=cdcurso fromdeleted updatecurso setqtdalunos=qtdalunos-1 wherecdcurso=@cdcurso } --| UPDATE |-createtriggert_aluno_update onaluno { forupdateasdeclare@cdcursonumeric, @cdcursoanumeric IFUPDATE(CDCURSO) { select@cdcurso=cdcurso frominserted select@cdcursoa=cdcurso fromdeleted updatecurso setqtdalunos=qtdalunos-1 wherecdcurso=@cdcursoa updatecursosetqtdalunos=qtdalunos+1 wherecdcurso=@cdcurso } } } } --| INSERT |-createtriggerc_aluno_insert onaluno { forinsert asdeclare@cdcidadenumeric select@cdcidade=cdcidade frominserted updatecidadesetqtdalunos=qtdalunos+1 wherecdcidade=@cdcidade } --| DELETE |-createtriggerc_aluno_delete onaluno { fordelete asdeclare@cdcidadenumeric select@cdcidade=cdcidade fromdeleted updatecidade setqtdalunos=qtdalunos-1wherecdcidade=@cdcidade } --| UPDATE |-createtriggerc_aluno_update onaluno { forupdate asdeclare@cdcidadenumeric, @cdcidadeanumeric IFUPDATE(CDCIDADE) { select@cdcidade=cdcidade frominsertedselect@cdcidadea=cdcidade fromdeleted updatecidade setqtdalunos=qtdalunos- 1 wherecdcidade=@cdcidadea updatecidade setqtdalunos=qtdalunos+ 1 wherecdcidade=@cdcidade

b) Curso.TotMensal

--| INSERT...
tracking img