线索数据平台推送(My Sql数据库)

Posted caoxiaole

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线索数据平台推送(My Sql数据库)相关的知识,希望对你有一定的参考价值。

1 /*
2     定义一个变量,存储所有店的店头ID
3     分别取到每个店的客户InvitedPerson(取到这个店的所有线索)
4     对取到的线索进行筛选:按照时间对所有的线索进行排序
5     定义一个变量,去重之后的InvitedPerson存储起来
6     按照InvitedPerson查找出来的两条或者N条线索,只取第一条进行平台推送
7 */

select * from dyhl_clue where DearShipID=2 ORDER BY F_CreatorTime

/*SELECT DISTINCT <字段名> FROM <表名>*/
SELECT DISTINCT InvitedPerson FROM dyhl_clue where DearShipID=2

 

待测试的存储过程:
数据库是否支持  for循环:
ids =select id from table)                            定义一个变量,存储需要循环的数据
for id in ids{
targetSql: update XXX from table2 where key_id = id;                进行循环,分别执行SQL语句
};

//创建存储过程前先检查是否存在,存在就删除,这个可以忽略
DROP PROCEDURE IF EXISTS staff_zt_test;
//存储过程
CREATE PROCEDURE staff_zt_test()
BEGIN
    //该变量用于标识是否还有数据需遍历
    DECLARE flag INT DEFAULT 0;
    //创建一个变量用来存储遍历过程中的值
    DECLARE id BIGINT(40);
    //查询出需要遍历的数据集合
    DECLARE idList CURSOR FOR (SELECT id FROM table WHERE a = 1);
    //查询是否有下一个数据,没有将标识设为1,相当于hasNext
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag = 1;
    //打开游标
    OPEN idList;
        //取值设置到临时变量中
        FETCH idList INTO id;
        //遍历未结束就一直执行
        WHILE flag != 1 DO
                -- targetSQL //你想要执行的目标功能,这里可以写多个SQL
                
                //  注意
                //这里有一个坑,目标语句引用临时变量,实测发现不需要加@符号,但是搜索到的结果都是例如:@id ,这样来使用,实测发现无法取到数据
                //  注意

                update XXX from table2 where key_id = id;
                //一定要记得把游标向后移一位,这个坑我替各位踩过了,不需要再踩了
                FETCH idList INTO id;
        END WHILE;
    CLOSE idList;
END;

 

以上是关于线索数据平台推送(My Sql数据库)的主要内容,如果未能解决你的问题,请参考以下文章

从社交数据挖掘销售线索,笨鸟社交构建外贸智能营销平台 | 爱分析访谈

寻找SQL执行线索的武器库

《java精品毕设》基于javaweb宠物领养平台管理系统(源码+毕设论文+sql):主要实现:个人中心,信息修改,填写领养信息,交流论坛,新闻,寄养信息,公告,宠物领养信息,我的寄养信息等(代码片段

Linux开源数据库My SQL DBA运维实战完整资料课程分享!

jdbc连接数据库my sql 后台java代码怎么写

为啥此代码片段返回意外结果?