存储过程小记
来源:互联网 发布:mac 音视频处理软件 编辑:程序博客网 时间:2024/06/07 11:08
DELIMITER $$CREATE PROCEDURE `PROC_UPDATELOGINADDRESS`() BEGIN DECLARE UserIdVar BIGINT(20); DECLARE OldUserIdVar BIGINT(20); DECLARE IPToIntVar BIGINT(20); DECLARE LastLoginIpVar VARCHAR(32); DECLARE LastLoginDateVar INT(11); DECLARE NoMoreRecords INT DEFAULT 0; DECLARE AddressVar VARCHAR(300); DECLARE CURSOR_LOGINDATA CURSOR FOR SELECT t.`UserId`,t.`LastLoginIp`,t.`LastLoginDate` FROM `usercenter`.`uc_userlastlogin_new` t WHERE t.`LastLoginDate`=(SELECT REPLACE(DATE_SUB(CURDATE(),INTERVAL 1 DAY),'-','')); DECLARE CONTINUE HANDLER FOR NOT FOUND BEGIN END; OPEN CURSOR_LOGINDATA; FETCH CURSOR_LOGINDATA INTO UserIdVar, LastLoginIpVar, LastLoginDateVar; REPEAT SET AddressVar = ''; SET OldUserIdVar = UserIdVar; SELECT SUBSTRING_INDEX(LastLoginIpVar,'.',1)*1000000000+SUBSTRING(SUBSTRING_INDEX(LastLoginIpVar,'.',2),INSTR(LastLoginIpVar,'.')+1)*1000000 +SUBSTRING_INDEX(SUBSTRING_INDEX(LastLoginIpVar,'.',-2),'.',1)*1000+SUBSTRING_INDEX(LastLoginIpVar,'.',-1)*1 INTO IPToIntVar; SELECT `Address` INTO AddressVar FROM `pt_ipbank_new` WHERE `IPStart` <= IPToIntVar AND `IPEnd` >= IPToIntVar ; -- 插入IP转换后的地址数据 INSERT INTO `userlastlogin`(`UserId`,`LastLoginDate`,`LastLoginAddress`) VALUES (UserIdVar,LastLoginDateVar,AddressVar) ON DUPLICATE KEY UPDATE LastLoginDate=LastLoginDateVar,LastLoginAddress=AddressVar; FETCH CURSOR_LOGINDATA INTO UserIdVar, LastLoginIpVar, LastLoginDateVar; IF UserIdVar = OldUserIdVar THEN SET NoMoreRecords = 1; END IF; UNTIL NoMoreRecords = 1 END REPEAT; CLOSE CURSOR_LOGINDATA; END$$DELIMITER ;
之前写的一个存储过程,总是忘记存储过程的格式,在博客上记一下,顺便回顾个函数:)
SELECT SUBSTRING_INDEX('www.111cn.net', '.', 2);
www.111cn
SELECT SUBSTRING_INDEX('www.111cn.net', '.', -2);
111cn.net
0 0
- 存储过程小记
- oracle 存储过程小记
- MySQL存储过程小记
- 存储过程小记
- SQL存储过程小记
- 存储过程小记
- mysql数据库---存储过程小记
- Hibernate调用mysql5.0存储过程小记
- Hibernate调用mysql5.0存储过程小记
- MS SQL 2005 存储过程小记
- mysql中存储过程小记一篇
- Form个性化小记: 个性化调用存储过程,动态LOV
- 用shell脚本执行mysql存储过程小记
- 关于获取存储过程返回值方法小记
- 本地存储文件小记
- MYSQL存储引擎小记
- Oracle问题小记五:服务启动-索引-子查询-分页存储过程
- bugzilla迁移过程小记
- 设计模式(1)————单例模式
- struts2概念及案例
- 进程与线程
- 多行文本溢出显示省略号
- 推荐系统入门
- 存储过程小记
- 指针
- 练习
- Python学习笔记-str和repr
- layout文件夹中activity_main.xml与fragment_main.xml文件的处理记录
- 如何使用Android系统自带的VPN服务框架
- 继承条件下构造方法的调用规则
- 第2周 项目2 胖子不想说体重
- 商人的诀窍