Question: Step 1: Create table audits via triggers The system must log any insertion, deletion, or updates to the following tables: Employee table (project 1) Job
Step 1: Create table audits via triggers
The system must log any insertion, deletion, or updates to the following tables:
Employee table (project 1)
Job table (project 1)
ProjectMain table (Project 2)
ActivityMain table (Project 2)
For each one of the table above, you will write the SQL Script to create their respective AUDIT table which is a table that contains the same columns as the original table, plus the additional columns Operation and DateTimeStamp. For example, for the EMPLOYEE table with the given columns, you will create EMPLOYEEAUDIT:
empNumber (char(8)), - empNumber (char(8)),
firstName (varchar(25)), - firstName (varchar(25)),
lastName varchar(25)), - lastName varchar(25)),
ssn (char(9)), - ssn (char(9)),
address (varchar(50)), - address (varchar(50)),
state (char(2)), - state (char(2)),
zip (char(5)), - zip (char(5)),
jobCode (char(4)) , - jobCode (char(4)) ,
dateOfBirth (date), - dateOfBirth (date),
certification(bit), - certification(bit),
salary(money) ) - salary(money) )
- Operation (varchar(50))
- DateTimeStamp (datetime)
Therefore, your assignment script will create the following 4 Audit tables :
- EmployeeAudit
- JobAudit
- ProjectMainAudit
- ActivityMainAudit
NOTE: You MUST use the above names for the audit tables.
You will create the following 4 triggers:
- trgEmployee: Will be placed on the Employee table and listens for Inserts, Deletes, and Updates
- trgJob: Will be placed on the Job table and listens for Inserts, Deletes, and Updates
- trgProjectMain: Will be placed on the ProjectMain table that contains the projectId and projectName and listens for Inserts, Deletes, and Updates
- trgActivityMain: Will be placed on the ActivityMain table that contains the activityId and activityName and listens for Inserts, Deletes, and Updates.
Again, each trigger will write to its respective audit table:
trgProjectMain will write to ProjectMainAudit
trgActivityMain will write to ActivityMainAudit
trgEmployee will write to EmployeeAudit
trgJob will write to JobAudit
Again, the columns which will be written to the audit tables will be all the original columns plus Operation and DateTimeStamp
The trigger will support the Insert, Delete and Update operation as follows:
If a record is inserted in the original table, then the audit table will contain the original values plus INSERTED into the operation column with the datetime stamp.
For the Delete operation, it will contain DELETED in the operation column plus the datetimestamp.
For the Update operation, it will contain 2 records in the audit table, one for the old values (Operation will have DELETED) and one for the new values (Operation will have INSERTED).
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
