Mysql存储过程通过遍历关键字表给文章表的关键字赋值

1970-01-01日积月累

Mysql 存储过程遍历Tag表(关键字表)的关键字,根据文章表的标题,为文章表的标签或关键字赋值。

DELIMITER $$
CREATE PROCEDURE UpdateKeywordsTags()
BEGIN
    DECLARE P_id varchar(50) ;
    DECLARE P_keywords varchar(50) ;
    DECLARE P_count int ;
    DECLARE P_end_count int ;

DECLARE C_WARRANTY CURSOR FOR SELECT ID,KEYWORDS FROM Table_tags ;
SELECT COUNT(*) INTO P_end_count from Table_tags ;
    SET P_count = 0 ;
OPEN C_WARRANTY;
   WHILE P_count < P_end_count DO
   	FETCH C_WARRANTY INTO P_id,P_keywords;
        UPDATE Table_ARTICLE SET KEYWORDS = P_keywords , TAGS = P_keywords WHERE KEYWORDS IS NULL 
        AND TITLE LIKE CONCAT('%',P_keywords,'%');
        SET P_count = P_count+1;
   end while;
    CLOSE C_WARRANTY;
END$$
DELIMITER ;

总结:通过以上方法就可以为文章表的标签和关键字赋值了,但效率很低,聊胜于无吧。总比一个一个手工去赋值好的多。

本文地址: http://m.liuxuepaper.com/rjyl/132460.html

[相关推荐]
上一篇:人和人最大的不同是思维境界的不同 下一篇:小学生-初中生必读书单