Welcome to Database Laboratory
Welcome to Database Laboratory
CREATE TABLE OriginalTable (
ID INT PRIMARY KEY,
Name VARCHAR(255)
);
INSERT INTO OriginalTable (ID, Name)
VALUES (1, 'John'),
(2, 'Jane'),
(3, 'Bob');
-- Drop the existing NewTable if it exists
-- DROP TABLE IF EXISTS NewTable;
-- Create the NewTable
CREATE TABLE NewTable (
ID INT PRIMARY KEY,
Name VARCHAR(255)
);
DELIMITER //
CREATE PROCEDURE CountRecords100(OUT record_count INT)
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE var_id INT;
DECLARE var_name VARCHAR(255);
DECLARE cur1 CURSOR FOR SELECT id, name FROM originaltable;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SET record_count = 0; -- Initialize the record count
OPEN cur1;
read_loop: LOOP
FETCH cur1 INTO var_id, var_name;
IF done = 1 THEN
LEAVE read_loop;
END IF;
INSERT INTO newtable(id, name) VALUES (var_id, var_name);
SET record_count = record_count + 1;
END LOOP;
CLOSE cur1;
END //
DELIMITER ;
CALL CountRecords100(@record_count);
SELECT * FROM newtable;