-1
DECLARE candidate CURSOR FOR
SELECT `ce_agr_perc`, `ce_year_of_passing`, `ql_id`,`ua_id`,
`sb_id`, `ps_id` ,`ce_id`, c_id
FROM `candidate_education`
WHERE c_id IN (SELECT c_id FROM `candidate`)
ORDER BY c_id;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET d = 0;
TRUNCATE TABLE `candidate_tag_string_copy`;
OPEN candidate;
read_loop: LOOP
FETCH candidate
INTO ceagrperc, ceyearofpassing, qlid, uaid, sbid, psid, ceid, cid;
IF d=1 THEN
LEAVE read_loop;
END IF;
IF NOT d=1 THEN
SELECT ql_short_code INTO qlcode FROM qualification_level
WHERE ql_id=qlid;
SELECT `us_short_code` INTO usshortcode FROM `university_affiliation`
WHERE ua_id=uaid;
SELECT `short_code` INTO shortcode FROM `school_boards`
WHERE sb_id=sbid;
SELECT `ds_id`,`dp_id` INTO dsid,dpid FROM `programe_specialization`
WHERE `ps_id`=psid;
SELECT `dp_short_code`, `dp_degree_edu_level`
INTO dpshortcode, dpdegreeedulevel
FROM `degree_programe`
WHERE `dp_id`=dpid;
SELECT `ds_short_code` INTO dsshortcode FROM `degree_specialization`
WHERE `ds_id`=dsid;
IF qlcode='UG' THEN
SELECT CONCAT('{', qlcode,';', dpshortcode, '-',
dsshortcode, ';', usshortcode, ';',
ceagrperc, ';', ceyearofpassing, '}')
INTO ctsstring ;
INSERT
INTO `candidate_tag_string_copy`
(`c_id`, `cts_tag_class`, `cts_fk_id`, `cts_string`)
VALUES(cid, 'edu', ceid, ctsstring);
END IF;
IF qlcode='PG' THEN
SELECT CONCAT('{', qlcode, '::', ';', dpshortcode, '-',
dsshortcode, ';', usshortcode, ';',
ceagrperc, ';', ceyearofpassing, '}')
INTO ctsstring ;
INSERT
INTO `candidate_tag_string_copy`
(`c_id`, `cts_tag_class`, `cts_fk_id`, `cts_string`)
VALUES(cid,'edu2',ceid,ctsstring);
END IF;
IF qlcode='XII' THEN
SELECT CONCAT('{', qlcode, ';', dpshortcode,'-',
dsshortcode, ';', usshortcode, ';',
ceagrperc, ';', ceyearofpassing, '}')
INTO ctsstring ;
INSERT
INTO `candidate_tag_string_copy`
(`c_id`, `cts_tag_class`, `cts_fk_id`, `cts_string`)
VALUES(cid, 'edu', ceid, ctsstring);
END IF;
IF qlcode='X' THEN
SELECT CONCAT('{', qlcode, ';', dpshortcode, '-',
dsshortcode, ';', usshortcode, ';',
ceagrperc, ';', ceyearofpassing, '}')
INTO ctsstring ;
INSERT
INTO `candidate_tag_string_copy`
(`c_id`, `cts_tag_class`, `cts_fk_id`, `cts_string`)
VALUES(cid, 'edu4', ceid, ctsstring);
END IF;
END IF;
END LOOP;
CLOSE candidate;
我在這樣的情況下做的第一件事,就是確保所有的代碼是否正確縮進。你可能有一個簡單的錯誤,但你的縮進很難確定。 –
@ user2071660:變量'd'聲明的默認值是多少?那是'1'還是'0'? –