DBMSPG 5
DBMSPG 5
Database changed
mysql> drop table employee;
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> INSERT INTO Employee VALUES (1, 'Braham Kumar', 30, 50000);
Query OK, 1 row affected (0.01 sec)
mysql>
mysql> -- Create stored procedure using a cursor
mysql> DELIMITER $$
mysql>
mysql> CREATE PROCEDURE ShowEmployeeDetails()
-> BEGIN
-> DECLARE v_E_id INT;
-> DECLARE v_E_name VARCHAR(100);
-> DECLARE v_Age INT;
-> DECLARE v_Salary INT;
-> DECLARE done INT DEFAULT 0;
->
-> DECLARE employee_cursor CURSOR FOR
-> SELECT E_id, E_name, Age, Salary FROM Employee;
->
-> DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
->
-> OPEN employee_cursor;
->
-> read_loop: LOOP
-> FETCH employee_cursor INTO v_E_id, v_E_name, v_Age, v_Salary;
-> IF done THEN
-> LEAVE read_loop;
-> END IF;
->
-> SELECT CONCAT('E_id: ', v_E_id, ', E_name: ', v_E_name, ', Age: ',
v_Age, ', Salary: ', v_Salary) AS EmployeeInfo;
-> END LOOP;
->
-> CLOSE employee_cursor;
-> END$$
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> DELIMITER ;
mysql>
mysql> -- Call the procedure
mysql> CALL ShowEmployeeDetails();
+-------------------------------------------------------+
| EmployeeInfo |
+-------------------------------------------------------+
| E_id: 1, E_name: Braham Kumar, Age: 30, Salary: 50000 |
+-------------------------------------------------------+
1 row in set (0.00 sec)
+--------------------------------------------------+
| EmployeeInfo |
+--------------------------------------------------+
| E_id: 2, E_name: Shubham, Age: 32, Salary: 55000 |
+--------------------------------------------------+
1 row in set (0.01 sec)
+-------------------------------------------------+
| EmployeeInfo |
+-------------------------------------------------+
| E_id: 3, E_name: Bikash, Age: 28, Salary: 48000 |
+-------------------------------------------------+
1 row in set (0.01 sec)
mysql>