Practical 12
Practical 12
AIM
To implement procedure and triggers in SQL with two examples each on database Project
assigned to each student, by running on WAMP/ LAMP /XAMPP /SQL server.
PROCEDURE
Implementing Procedures on Project Database
1. Procedure: Insert BOOKS_INFO - This procedure inserts a new record into
books_info1 table.
SQL QUERY :
DELIMITER $$
CREATE PROCEDURE AddBook (
IN p_SUBJECT VARCHAR(255),
IN p_TITLE VARCHAR(255),
IN p_SEMESTER INT,
IN p_AUTHOR VARCHAR(255),
IN p_PUBLISHER VARCHAR(255),
IN p_EDITION VARCHAR(50)
)
BEGIN
INSERT INTO books_info1 (SUBJECT, TITLE, SEMESTER, AUTHOR,
PUBLISHER, EDITION)
VALUES (p_SUBJECT, p_TITLE, p_SEMESTER, p_AUTHOR, p_PUBLISHER,
p_EDITION);
END$$
DELIMITER ;
CO23317 Page no |
Date of Practical: Practical 12 Date of Submission:
TEST QUERIES:
Add a new book related to academics:
1. CALL AddBook('Mathematics', 'Calculus I', 1, 'James Stewart', 'Cengage', '8th Edition');
2. CALL AddBook('Physics', 'Quantum Mechanics', 3, 'David Griffiths', 'Pearson', '2nd Edition');
CO23317 Page no |
Date of Practical: Practical 12 Date of Submission:
TEST QUERIES
Add a record for a faculty
CALL AddFaculty(
'Dr. Jane Smith',
'Assistant Professor',
'Data Science',
'Big Data',
'0',
'9876543210',
'[email protected]'
);
CO23317 Page no |
Date of Practical: Practical 12 Date of Submission:
DELIMITER $$
DELIMITER ;
TEST QUERIES
Attempt to insert a record with an invalid mobile number (this should fail)
CO23317 Page no |
Date of Practical: Practical 12 Date of Submission:
DELIMITER $$
CREATE TRIGGER BeforeFacultyInsertEmailCheck
BEFORE INSERT ON FACULTY_INFO
FOR EACH ROW
BEGIN
IF EXISTS (SELECT 1 FROM FACULTY_INFO WHERE EMAIL_ID = NEW.EMAIL_ID) THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'ERROR: Duplicate email ID is not allowed';
END IF;
END$$
DELIMITER ;
TEST QUERIES:
-Attempt to insert a invalid record
CO23317 Page no |