Professional Documents
Culture Documents
--- 2 ---
-- Trigger to prevent the deletion of a genre that is associated with a movie
CREATE OR REPLACE TRIGGER prevent_genre_deletion_trg
BEFORE DELETE ON genre
FOR EACH ROW
DECLARE
cnt NUMBER := 0;
BEGIN
SELECT COUNT(*) INTO cnt
FROM movie_genres
WHERE genre_id = :OLD.genre_id;
-----3---------------
-- Trigger to prevent a movie cast member from being assigned
-- to more than one movie with the same character name:
CREATE OR REPLACE TRIGGER check_movie_cast_trg
BEFORE INSERT OR UPDATE ON movie_cast
FOR EACH ROW
DECLARE
cnt NUMBER;
BEGIN
SELECT COUNT(*) INTO cnt FROM movie_cast
WHERE movie_id = :NEW.movie_id AND person_id = :NEW.person_id AND character_name
= :NEW.character_name;
IF cnt > 0 THEN
RAISE_APPLICATION_ERROR(-20000, 'This cast member is already assigned to this
movie with the same character name');
END IF;
END;
The trigger will prevent the insert and raise an error message.
INSERT INTO movie_cast(movie_id, person_id, character_name, gender_id)
VALUES(5, 1, 'John Smith', 1);
INSERT INTO movie (movie_id, title, budget, overview, release_date, runtime) VALUES
(5,'Avengers: Infinity War',4000000,'American superhero film based on the Marvel
Comics','27-APR-18',149);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(1, 'Avatar 2', 50000, 'movie about blue people', '16-DEC-22', 192);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(285, 'Pirates of the Caribbean: The Curse of the Black Pearl', 700000,
'movie about pirates', '22-AUG-03', 143);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(100, 'Fast & Furious Presents: Hobbs & Shaw', 700000, ' American buddy
action comedy film directed by David Leitch', '02-AUG-19', 135);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(35, 'Sherlock Holmes', 200000, 'Detective Sherlock Holmes and his stalwart
partner Watson engage in a battle of wits and brawn with a nemesis whose plot is a
threat to all of England.', '15-JUN-19', 128);
INSERT INTO movie (movie_id, title, budget, overview, release_date, runtime) VALUES
(7,'The Nun',3500000,'American gothic supernatural horror film ','20-NOV-18',95);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(2, 'Annabelle: Creation', 704000, 'Years after the tragic death of their
little daughter, a doll- maker and his wife welcome a nun and a group of orphaned
girls to their home, but somehow they become the target of the doll-makers demonic
creation, Annabelle.', '10-AUG-17', 109);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(207, 'Annabelle', 620000, 'movie about the evil doll', '22-AUG-13', 143);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(26, 'The Conjuring', 390000, 'Paranormal investigators Ed and Lorraine
Warren work to help a family terrorized by a dark presence.', '05-DEC-13', 135);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(666, 'Annabelle Comes Home', 450000, 'Determined to keep Annabelle from
wreaking more havoc, demonologists Ed and Lorraine Warren bring the possessed doll
to the locked artifacts room in their home, placing her “safely” behind sacred
glass and enlisting a priest’s holy blessing. But an unholy night of horror awaits
as Annabelle awakens the evil spirits in the room, who all set their sights on a
new target—the Warrens’ ten year- old daughter, Judy, and her friends.', '26-JUN-
19', 128);
INSERT INTO movie (movie_id, title, budget, overview, release_date, runtime) VALUES
(8,'The Guilty',350000,'Netflix','20-NOV-21',90);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(3, 'The Deep House', 704000, 'English-language French supernatural horror
film written and directed by Julien Maury and Alexandre Bustillo.', '10-AUG-21',
90);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(4, 'The Pale Blue Eye', 620000, 'A world-weary detective is hired to
investigate the murder of a West Point cadet. Stymied by the cadets code of
silence, he enlists one of their own to help unravel the case - a young man the
world would come to know as Edgar Allan Poe.', '22-AUG-13', 103);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(6, 'Knives Out', 390000, 'A detective investigates the death of the
patriarch of an eccentric, combative family.', '05-DEC-13', 135);
INSERT INTO movie(movie_id, title, budget, overview, release_date, runtime)
values(9, 'Ant-Man and the Wasp: Quantumania', 450000, 'Scott Lang and Hope Van
Dyne, along with Hank Pym and Janet Van Dyne, explore the Quantum Realm, where they
interact with strange creatures and embark on an adventure that goes beyond the
limits of what they thought was possible.', '16-FEB-23', 125);
INSERT ALL
INTO gender (gender_id, gender) VALUES (0,'Unspecified')
INTO gender (gender_id, gender) VALUES (1,'Female')
INTO gender (gender_id, gender) VALUES (2,'Male')
SELECT * FROM dual;
INSERT ALL
INTO language (language_id, language_name) VALUES (2001,'English')
INTO language (language_id, language_name) VALUES (2002,'russian')
INTO language (language_id, language_name) VALUES (2003,'kazakh')
SELECT * FROM dual;
INSERT ALL
INTO country (country_id, country_name) VALUES (151,'USA')
INTO country (country_id, country_name) VALUES (152,'Great Britain')
INTO country (country_id, country_name) VALUES (153,'Kazakhstan')
INTO country (country_id, country_name) VALUES (154,'Turkey')
INTO country (country_id, country_name) VALUES (155,'India')
SELECT * FROM dual;
INSERT ALL
INTO country (country_id, country_name) VALUES (156,'Norway')
INTO country (country_id, country_name) VALUES (157,'Sweden')
INTO country (country_id, country_name) VALUES (158,'Spain')
INTO country (country_id, country_name) VALUES (159,'Australia')
INTO country (country_id, country_name) VALUES (160,'Germany')
INTO country (country_id, country_name) VALUES (161,'France')
INTO country (country_id, country_name) VALUES (162,'Egypt')
INTO country (country_id, country_name) VALUES (163,'Italy')
INTO country (country_id, country_name) VALUES (164,'South Korea')
INTO country (country_id, country_name) VALUES (165,'Brazil')
SELECT * FROM dual;