天下

记录修行的印记

存储过程(1)

DROP TABLE IF EXISTS `index1`;
CREATE TABLE `index1` (
  `id` bigint(20) unsigned NOT NULL,
  `weight` int(10NOT NULL,
  `query` varchar(255NOT NULL,
  `field_id` bigint(20DEFAULT NULL,
  KEY `query` (`query`)
) ENGINE=SPHINX DEFAULT CHARSET=utf8 CONNECTION='sphinx://127.0.0.1:3312/index1'


$sql = "
SELECT *
FROM index1 as i
LEFT JOIN cms_item as c
ON (i.id=c.item_id)
WHERE 1 AND
i.id=c.item_id AND
query='$keyword'
";


delimiter //
CREATE FUNCTION getRelatedWords(inkeyword varchar(255)) RETURNS varchar(255)
BEGIN
    DECLARE pid bigint(20DEFAULT 0;
    DECLARE keywords varchar(255DEFAULT '';
    SELECT synonym_id into pid from cms_synonym where content=inkeyword;
    SELECT content into keywords from cms_synonym_subword where synonym_id=pid;
    RETURN keywords;
END//
delimiter ;


select get_related_words("中国");

BEGIN
        -- 获取父分类编码
        DECLARE parent_class_code varchar(255DEFAULT '';
        DECLARE child_class_code varchar(255DEFAULT '';
       DECLARE v1 INT DEFAULT 1;

       IF parent_class_id > 0 THEN
           SELECT class_code into parent_class_code FROM cms_resource_class WHERE class_id=parent_class_id;
       END IF;
           WHILE v1 <= 999 DO
                SET child_class_code=concat(parent_class_code,rightconvert(1000 + v1,char(4)),3));
                IF existsselect class_id from cms_resource_class where  class_code =child_class_code ) THEN
                    SET v1=v1+1;
                ELSE
                    RETURN child_class_code;
                END IF;
           END WHILE;
    RETURN '';
END;;


delimiter //
CREATE FUNCTION `getRelatedWords`(inkeyword varcharRETURNS varchar(255)
BEGIN
    -- DECLARE child_class_code varchar(255) DEFAULT '';
    DECLARE pid bigint(20DEFAULT 0;
    SELECT synonym_id into pid from cms_synonym where content=inkeyword;
    SELECT content from cms_synonym_subword where synonym_id=pid;
    -- SELECT synonym_id into tmpfid from doc_forums where fid=infid;
END//
delimiter ;


delimiter //
CREATE FUNCTION getRelatedWords(inkeyword varchar(255)) RETURNS varchar(255)
BEGIN
    DECLARE pid bigint(20DEFAULT 0;
    SELECT synonym_id into pid from cms_synonym where content=inkeyword;
    SELECT content  from cms_synonym_subword where synonym_id=pid;
END//
delimiter ;

posted on 2015-12-14 20:38 天下 阅读(181) 评论(0)  编辑 收藏 引用 所属分类: MySQL


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2012年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(4)

随笔分类(378)

随笔档案(329)

链接

最新随笔

搜索

最新评论