DROPPROCEDUREIFEXISTS project_contract_jieduan;CREATEPROCEDURE`project_contract_jieduan`()BEGINDECLARE
_Done INTDEFAULT0;DECLARE
FID VARCHAR(50);DECLARE
c INT(8);DECLARE
i INT;DECLARE
rs CURSORFORSELECT
itsm_cid FID,-- 计算字符串中某个关键字出现次数( CHAR_LENGTH( mbPlan )- CHAR_LENGTH(REPLACE( mbPlan,'repay','')))/ CHAR_LENGTH('repay') c
FROM
itsm_contract
WHERE
mbPlan ISNOTNULL;DECLARECONTINUEHANDLERFOR SQLSTATE '02000'SET _Done =1;OPEN rs;DELETEFROM
itsm_jieduan;FETCHNEXTFROM
rs INTO FID,
c;REPEATIFNOT _Done THENSET i =1;WHILE
i <= c DOINSERTINTO itsm_jieduan ( ID, NAME, FID )SELECT
CONCAT( FID, i ),
CONCAT('第', i,'阶段'),
FID;SET i = i +1;ENDWHILE;ENDIF;FETCHNEXTFROM
rs INTO FID,
c;
UNTIL _Done
ENDREPEAT;CLOSE rs;SELECT
PRID ID,
b.TITLE NAME,NULL FID
FROM
px_project a
JOIN aa_flow b ON a.PRID = b.FLOW_ID
WHERE
b.TITLE ISNOTNULLAND b.FLOW_STATUS >=0GROUPBY
b.FLOW_NO UNIONSELECT
a.itsm_cid ID,
a.itsm_ctitle NAME,
a.itsm_project FID
FROM
itsm_contract a
WHERE
a.itsm_project ISNOTNULLAND a.itsm_project !=''AND a.itsm_isDelete =1UNIONSELECT*FROM
itsm_jieduan;END