Untitled Document 1
Untitled Document 1
SHANAY KAPASI
19BCE1796
PERFORM FUNCTION/PROCEDURE
-- Usage example
CALL UpdateStudentYear(1, 4); -- Update John Smith's year to 4
CREATE PROCEDURE DeleteStudent(student_id INT)
BEGIN
DELETE FROM Students WHERE id = student_id;
END;
-- Usage example
CALL DeleteStudent(5); -- Delete Mike Brown's record
CREATE FUNCTION GetStudentEmail(student_name VARCHAR(50)) RETURNS
VARCHAR(50)
BEGIN
DECLARE email VARCHAR(50);
SELECT email INTO email FROM Students WHERE name = student_name;
RETURN email;
END;
-- Usage example
SELECT name, GetStudentEmail(name) AS email
FROM Students
WHERE department = 'Computer Science';
CREATE FUNCTION CountStudentsByYear(year_num INT) RETURNS INT
BEGIN
DECLARE count INT;
SELECT COUNT(*) INTO count FROM Students WHERE year = year_num;
RETURN count;
END;
-- Usage example
SELECT year, CountStudentsByYear(year) AS student_count
FROM Students
GROUP BY year;
CREATE PROCEDURE UpdateStudentDepartment(student_id INT, new_department
VARCHAR(50))
BEGIN
UPDATE Students SET department = new_department WHERE id = student_id;
END;
-- Usage example
CALL UpdateStudentDepartment(3, 'Computer Science'); -- Update Bob Johnson's department
to Computer Science
CREATE PROCEDURE InsertNewStudent(student_id INT, student_name VARCHAR(50),
student_email VARCHAR(50), student_department VARCHAR(50), student_year INT)
BEGIN
INSERT INTO Students (id, name, email, department, year)
VALUES (student_id, student_name, student_email, student_department, student_year);
END;
-- Usage example
CALL InsertNewStudent(21, 'Jessica Smith', '[email protected]', 'Civil Engineering', 2); --
Insert a new student record
CREATE FUNCTION GetStudentDepartmentByEmail(student_email VARCHAR(50)) RETURNS
VARCHAR(50)
BEGIN
DECLARE dept VARCHAR(50);
SELECT department INTO dept FROM Students WHERE email = student_email;
RETURN dept;
END;
-- Usage example
SELECT name, GetStudentDepartmentByEmail(email) AS department
FROM Students
WHERE year = 3;
OUTPUT
department student_count
------------------- -------------
Civil Engineering 4
Computer Science 5
Electrical Engineering 5
Mechanical Engineering 6
name email
----------------- ---------------------
John Smith [email protected]
Mike Brown [email protected]
David Kim [email protected]
Chris Park [email protected]
Brian Chen [email protected]
year student_count
---- -------------
3 6
2 6
4 8
1 4
--------------- -------------------
John Smith Computer Science
Jane Doe Electrical Engineering
Bob Johnson Mechanical Engineering
Sarah Lee Civil Engineering
Mike Brown Computer Science
Emily Davis Electrical Engineering
Tom Jones Mechanical Engineering
Amy Chen Civil Engineering
David Kim Computer Science
Lisa Wang Electrical Engineering
Mike Johnson Mechanical Engineering
Julia Lee Civil Engineering
Chris Park Computer Science
Mary Kim Electrical Engineering
Eric Lee Mechanical Engineering
Jessica Lee Civil Engineering
Brian Chen Computer Science
Alice Wang Electrical Engineering
Matt Johnson Mechanical Engineering
Linda Kim Civil Engineering