Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
DROP DATABASE IF EXISTS university; CREATE DATABASE IF NOT EXISTS university; USE university; CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(45) NOT NULL, d_id INT ); INSERT INTO users (name, d_id) VALUES ('Alice', 1), ('Bob', 2), ('Charlie', 1), ('David', 3), ('Eve', 2); CREATE TABLE IF NOT EXISTS hobbies ( id INT AUTO_INCREMENT PRIMARY KEY, hobby VARCHAR(45) NOT NULL, u_id INT ); INSERT INTO hobbies (hobby, u_id) VALUES ('Reading', 1), ('Swimming', 1), ('Cycling', 2), ('Painting', 3), ('Gaming', 4), ('Cooking', 2), ('Hiking', 5); DELIMITER // CREATE PROCEDURE showHobbies (OUT printstr VARCHAR(500)) BEGIN DECLARE done BOOLEAN DEFAULT FALSE; DECLARE cur_id INT; DECLARE cur_name VARCHAR(45); DECLARE outstr VARCHAR(500) DEFAULT '\n'; DECLARE curusers CURSOR FOR SELECT id, name FROM users; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done := TRUE; OPEN curusers; USERSLOOP: LOOP FETCH curusers INTO cur_id, cur_name; IF done THEN LEAVE USERSLOOP; END IF; SET @hobbies_list = ''; -- Сбрасываем список хобби для каждого пользователя SELECT GROUP_CONCAT(hobby SEPARATOR ', ') INTO @hobbies_list FROM hobbies WHERE u_id = cur_id; IF @hobbies_list IS NULL THEN SET @hobbies_list = 'No hobbies'; END IF; SET outstr = CONCAT(outstr, 'The hobby list for ', cur_name, ' is: ', @hobbies_list, '\n'); END LOOP USERSLOOP; CLOSE curusers; SET printstr := outstr; END// DELIMITER ; CALL showHobbies(@list); SELECT @list;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear