Question: PL/SQL homework......Here is the schema Create a file called trigger.sql. In this file, create a new row-level trigger: The trigger should fire when a record

PL/SQL homework......Here is the schema

PL/SQL homework......Here is the schema Create a file called trigger.sql. In this

  1. Create a file called trigger.sql. In this file, create a new row-level trigger:

    1. The trigger should fire when a record is inserted into the classrooms table or when a record's teacher_id or subject_id is updated.

    2. If the insert or update would result in a new classroom that has a teacher teaching a subject that they don't teach, an exception should occur with a message similar to: Sarah Garcia does not teach Math

    3. To test your trigger, run the following two inserts. The first should succeed and the second should fail with the message shown above: INSERT INTO classrooms

(teacher_id, subject_id, semester, year)

VALUES (1, 1, 'spring', 2022);

INSERT INTO classrooms

(teacher_id, subject_id, semester, year)

VALUES (2, 1, 'spring', 2022);

SYSTEM.SCHOOLS SCHOOL_ID NUMBER SCHOOL_NAME VARCHAR2 (35 BYTE) ADDRESS VARCHAR2 (60 BYTE) CITY VARCHAR2 (15 BYTE) REGION VARCHAR2 (15 BYTE) POSTAL_CODE VARCHAR2 (10 BYTE) COUNTRY VARCHAR2 (15 BYTE) PRINCIPAL_ID NUMBER > SCHOOLS_PK (SCHOOL_ID) SCHOOL_PRINCIPAL_FK (PRINCIPAL_ID) SYSTEM.PEOPLE P PERSON_ID NUMBER IF SCHOOL_ID NUMBER * FIRST_NAME VARCHAR2 (10 BYTE) LAST_NAME VARCHAR2 (20 BYTE) + * BIRTH_DATE DATE ADDRESS VARCHAR2 (60 BYTE) CITY VARCHAR2 (15 BYTE) REGION VARCHAR2 (15 BYTE) POSTAL_CODE VARCHAR2(10 BYTE) COUNTRY VARCHAR2 (15 BYTE) - PEOPLE_PK (PERSON_ID) E SYS_C0021064 (SCHOOL_ID) SYSTEM.TEACHERS P TEACHER_ID NUMBER PERSON_ID NUMBER SUBJECT_ID NUMBER +-K SALARY NUMBER TEACHERS_PK (TEACHER_ID) SYS_C0021067 (PERSON_ID) SYS_C0021068 (SUBJECT_ID) SYSTEM.SUBJECTS IP SUBJECT_ID NUMBER SUBJECT VARCHAR2 (60 BYTE) SUBJECTS_PK (SUBJECT_ID) SYSTEM.PRINCIPALS IP PRINCIPAL_ID NUMBER PERSON_ID NUMBER SALARY NUMBER -> PRINCIPALS_PK (PRINCIPAL_ID) SYS_C0021074 (PERSON_ID) SYSTEM.STUDENTS P" STUDENT_ID NUMBER PERSON_ID NUMBER GRADE_LEVEL NUMBER STUDENTS_PK (STUDENT_ID) SYS_C0021071 (PERSON_ID) KA SYSTEM.CLASSROOMS P" CLASSROOM_ID NUMBER TEACHER_ID NUMBER SUBJECT_ID NUMBER SEMESTER VARCHAR2 (6 BYTE) YEAR NUMBER (4) - CLASSROOMS_PK (CLASSROOM_ID) SYS_C0021077 (TEACHER_ID) SYS_C002 1078 (SUBJECT_ID) P SYSTEM.CLASSROOM_STUDENTS CLASSROOM_STUDENT_ID NUMBER CLASSROOM_ID NUMBER STUDENT_ID NUMBER GRADE NUMBER 839394 CLASSROOM_STUDENTS_PK (CLASSROOM_STUDENT_ID) SYS_C0021082 (STUDENT_ID) SYS_C0021081 (CLASSROOM_ID) SYSTEM.SCHOOLS SCHOOL_ID NUMBER SCHOOL_NAME VARCHAR2 (35 BYTE) ADDRESS VARCHAR2 (60 BYTE) CITY VARCHAR2 (15 BYTE) REGION VARCHAR2 (15 BYTE) POSTAL_CODE VARCHAR2 (10 BYTE) COUNTRY VARCHAR2 (15 BYTE) PRINCIPAL_ID NUMBER > SCHOOLS_PK (SCHOOL_ID) SCHOOL_PRINCIPAL_FK (PRINCIPAL_ID) SYSTEM.PEOPLE P PERSON_ID NUMBER IF SCHOOL_ID NUMBER * FIRST_NAME VARCHAR2 (10 BYTE) LAST_NAME VARCHAR2 (20 BYTE) + * BIRTH_DATE DATE ADDRESS VARCHAR2 (60 BYTE) CITY VARCHAR2 (15 BYTE) REGION VARCHAR2 (15 BYTE) POSTAL_CODE VARCHAR2(10 BYTE) COUNTRY VARCHAR2 (15 BYTE) - PEOPLE_PK (PERSON_ID) E SYS_C0021064 (SCHOOL_ID) SYSTEM.TEACHERS P TEACHER_ID NUMBER PERSON_ID NUMBER SUBJECT_ID NUMBER +-K SALARY NUMBER TEACHERS_PK (TEACHER_ID) SYS_C0021067 (PERSON_ID) SYS_C0021068 (SUBJECT_ID) SYSTEM.SUBJECTS IP SUBJECT_ID NUMBER SUBJECT VARCHAR2 (60 BYTE) SUBJECTS_PK (SUBJECT_ID) SYSTEM.PRINCIPALS IP PRINCIPAL_ID NUMBER PERSON_ID NUMBER SALARY NUMBER -> PRINCIPALS_PK (PRINCIPAL_ID) SYS_C0021074 (PERSON_ID) SYSTEM.STUDENTS P" STUDENT_ID NUMBER PERSON_ID NUMBER GRADE_LEVEL NUMBER STUDENTS_PK (STUDENT_ID) SYS_C0021071 (PERSON_ID) KA SYSTEM.CLASSROOMS P" CLASSROOM_ID NUMBER TEACHER_ID NUMBER SUBJECT_ID NUMBER SEMESTER VARCHAR2 (6 BYTE) YEAR NUMBER (4) - CLASSROOMS_PK (CLASSROOM_ID) SYS_C0021077 (TEACHER_ID) SYS_C002 1078 (SUBJECT_ID) P SYSTEM.CLASSROOM_STUDENTS CLASSROOM_STUDENT_ID NUMBER CLASSROOM_ID NUMBER STUDENT_ID NUMBER GRADE NUMBER 839394 CLASSROOM_STUDENTS_PK (CLASSROOM_STUDENT_ID) SYS_C0021082 (STUDENT_ID) SYS_C0021081 (CLASSROOM_ID)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!