upgrade.sql updated

parent 82659b8b
Showing with 35 additions and 11 deletions
......@@ -47,6 +47,21 @@ UPDATE license
SET `type` = 'official'
WHERE `type` <> 'trial';
ALTER TABLE supervisor
DROP FOREIGN KEY supervisor_ibfk_1;
ALTER TABLE supervisor
DROP KEY id_off;
ALTER TABLE student
DROP FOREIGN KEY student_ibfk_1;
ALTER TABLE student
DROP KEY id_off;
ALTER TABLE stu_sup
DROP FOREIGN KEY stu_sup_ibfk_1;
ALTER TABLE stu_sup
DROP FOREIGN KEY stu_sup_ibfk_2;
DELIMITER $$
DROP PROCEDURE IF EXISTS supervisor_adapt $$
CREATE PROCEDURE supervisor_adapt()
......@@ -57,13 +72,17 @@ BEGIN
DECLARE id_off_actual INT;
DECLARE name_sup VARCHAR(80);
DECLARE office CURSOR FOR SELECT id,name,admin FROM pictodb.office;
DECLARE off_cur CURSOR FOR SELECT id,name,admin FROM pictodb.office;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN office;
OPEN off_cur;
read_loop: LOOP
FETCH office INTO id_off_actual,name_sup,id_admin;
FETCH off_cur INTO id_off_actual,name_sup,id_admin;
SELECT concat(id_off_actual, ' ', name_sup, ' ', id_admin);
SELECT * from stu_sup where id_sup = 105;
IF done THEN
LEAVE read_loop;
......@@ -72,14 +91,20 @@ BEGIN
UPDATE supervisor SET name = name_sup, surname = '',role = 'office'
WHERE id = id_admin;
UPDATE student SET id_off = id_admin WHERE id_off = id_off_actual;
SELECT * from stu_sup where id_sup = 105;
UPDATE supervisor SET id_off = id_admin WHERE id_off = id_off_actual;
SELECT * from stu_sup where id_sup = 105;
UPDATE student SET id_off = id_admin WHERE id_off = id_off_actual;
SELECT * from stu_sup where id_sup = 105;
END LOOP;
CLOSE office;
CLOSE off_cur;
END $$
END $$
DELIMITER ;
CALL supervisor_adapt();
......@@ -92,10 +117,9 @@ INSERT INTO sup_off (id_sup, id_off)
SELECT id, id_off
FROM supervisor;
ALTER TABLE student DROP FOREIGN KEY student_ibfk_1;
ALTER TABLE student DROP COLUMN id_off;
ALTER TABLE supervisor DROP FOREIGN KEY supervisor_ibfk_1;
ALTER TABLE supervisor DROP COLUMN id_off;
ALTER TABLE stu_sup
ADD CONSTRAINT `stu_sup_ibfk_1` FOREIGN KEY (`id_stu`) REFERENCES `student` (`id`);
ALTER TABLE stu_sup
ADD CONSTRAINT `stu_sup_ibfk_2` FOREIGN KEY (`id_sup`) REFERENCES `supervisor` (`id`);
DROP TABLE office;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment