Académique Documents
Professionnel Documents
Culture Documents
FilmeArtista
CodigoFilme
CodigoArtista
DataGravacao
- Genero
Artista
Codigo
Nome
DataNascimento
PaisOrigem
Caracteristicas
Genero
- DataLancamento
TABELA FILME
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_FILME_IU`(_CODIGO INT, _NOME
VARCHAR(50), _GENERO VARCHAR(30),
_DATALANCAMENTO DATETIME, _OP CHAR(1))
BEGIN
IF (_OP = 'U' OR _OP = 'u') THEN
UPDATE FILME SET
NOME = _NOME,
GENERO = _GENERO,
DATALANCAMENTO = _DATALANCAMENTO
WHERE
CODIGO = _CODIGO;
END IF;
IF (_OP = 'I' OR _OP = 'i') THEN
INSERT INTO FILME (NOME, GENERO, DATALANCAMENTO)
VALUES (_NOME, _GENERO, _DATALANCAMENTO);
END IF;
END
TABELA FILMEARTISTA
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_FILMEARTISTA_I`(_CODIGOFILME INT,
_CODIGOARTISTA INT)
BEGIN
INSERT INTO FILMEARTISTA (CODIGOFILME, CODIGOARTISTA)
VALUES (_CODIGOFILME, _CODIGOARTISTA);
END
TABELA ARTISTA
DELIMITER $$
USE `produtorafilmes`$$
CREATE PROCEDURE `SP_ARTISTA_D` (_CODIGO INT)
BEGIN
DELETE FROM FILMEARTISTA WHERE CODIGOARTISTA = _CODIGO
DELETE FROM ARTISTA WHERE CODIGO = _CODIGO;
END
$$
DELIMITER;
TABELA FILMEARTISTA
DELIMITER $$
USE `produtorafilmes`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_FILMEARTISTA_D`(_CODIGOFILME
INT, CODIGOARTISTA INT)
BEGIN
DELETE FROM FILMEARTISTA WHERE CODIGOFILME = _CODIGOFILME
AND CODIGOARTISTA = _CODIGOARTISTA;
END $$
DELIMITER ;
HistoricoArtista
- DataAlteracao
- DataAlteracao
- Codigo
- Codigo
- NomeAnterior
- NomeAnterior
- NomeAtual
- NomeAtual
- GeneroAnterior
- DataNascimentoAnterior
- GeneroAtual
- DataLancamentoAnter
ior
- DataLancamentoAtual
-DataNascimentoAtual
- PaisOrigemAnterior
- PaisOrigemAtual
- CaracteristicasAnterior
- CaracteristicasAtual
- GeneroAnterior
- GeneroAtual
HistoricoFilmeAr
tista
- DataAlteracao
- TipoAlteracao
- CodigoFilme
- CodigoArtista
- DataGravacao
DELIMITER ;
10. Crie uma Trigger que ser dispara quando ocorrer um INSERT na tabela
FilmeArtista. Ela dever inserir na tabela HistoricoFilmeArtista a data da
alterao, o tipo de alterao com o valor I e os demais valores
inseridos.
DELIMITER $$
USE `produtorafilmes`$$
CREATE DEFINER=current_user TRIGGER `produtorafilmes`.`filmeartista_AFTER_INSERT` AFTER
INSERT ON `filmeartista` FOR EACH ROW
BEGIN
INSERT INTO HISTORICOFILMEARTISTA (DATAALTERACAO, TIPOALTERACAO,
CODIGOFILME, CODIGOARTISTA, DATAGRAVACAO)
SELECT NOW(), 'I', NEW.CODIGOFILME, NEW.CODIGOARTISTA, NEW.DATAGRAVACAO
FROM FILMEARTISTA
WHERE
CODIGOFILME = NEW.CODIGOFILME AND CODIGOARTISTA =
NEW.CODIGOARTISTA;
END $$
DELIMITER ;
11. Crie uma Trigger que ser dispara quando ocorrer um DELETE na
tabela FilmeArtista. Ela dever inserir na tabela HistoricoFilmeArtista a
data da alterao, o tipo de alterao com o valor D e os demais
valores apagados.
DELIMITER $$
USE `produtorafilmes`$$
CREATE DEFINER=current_user TRIGGER `produtorafilmes`.`filmeartista_BEFORE_DELETE`
BEFORE DELETE ON `filmeartista` FOR EACH ROW
BEGIN
INSERT INTO HISTORICOFILMEARTISTA (DATAALTERACAO, TIPOALTERACAO,
CODIGOFILME, CODIGOARTISTA, DATAGRAVACAO)
SELECT NOW(), 'D', OLD.CODIGOFILME, OLD.CODIGOARTISTA, OLD.DATAGRAVACAO
FROM FILMEARTISTA
WHERE
CODIGOFILME = OLD.CODIGOFILME AND CODIGOARTISTA =
OLD.CODIGOARTISTA;
END $$
DELIMITER ;