标签表的词汇遍历给文章标题存储过程

Tag: 标题

构建一个存储过程,用于遍历文章中所有的title是否包含tags表中的词汇,如果有,就将tags表的词汇设置为该文章的关键字。

tags表中是要代替的词汇,也就是article表中title可能包含该tags表词汇,如果包含,就将其设置为该文章的关键字,并插入该表对应的keywords字段中。

一个一个遍历所有的article 表中关键字为空的文章,直至所有关键字为空的字段都遍历一遍,即完成此次操作。

BEGIN
    DECLARE P_id varchar(5) ;
    DECLARE P_keywords varchar(10) ;
    DECLARE P_count int ;
    DECLARE P_end_count int ;
DECLARE C_WARRANTY CURSOR FOR SELECT ID,KEYWORDS FROM tags ORDER BY ID DESC;
SET P_count = 1 ;
SELECT COUNT(*) INTO P_end_count from tags;
OPEN C_WARRANTY;
   WHILE P_end_count > P_count  DO
   	FETCH C_WARRANTY INTO P_id,P_keywords;
        UPDATE ARTICLE SET KEYWORDS = P_keywords , TAGS = CONCAT(',',P_keywords,',')  WHERE KEYWORDS IS NULL AND TITLE LIKE CONCAT('%',P_keywords,'%');
        SET P_count = P_count+1;
   end while;
    CLOSE C_WARRANTY;
END