MySQL存储过程
2015-08-18 14:19
435 查看
DROP PROCEDURE IF EXISTS P_AUTO_SCHEDULING; CREATE PROCEDURE P_AUTO_SCHEDULING(IN v_hosptialId VARCHAR(50)) BEGIN DECLARE i INT DEFAULT 0; DECLARE v_days INT DEFAULT 1; DECLARE v_uuid VARCHAR(32); DECLARE v_curdate date; DECLARE v_weekTypeid VARCHAR(15); DECLARE v_hosptialName VARCHAR(255); DECLARE v_orgId VARCHAR(50); DECLARE v_orgName VARCHAR(255); SELECT orgname_hosp FROM t_hosp WHERE orgid_hosp = v_hosptialId LIMIT 1 INTO v_hosptialName; SELECT orgid,orgname FROM t_org WHERE orgId_hosp = v_hosptialId INTO v_orgId,v_orgName; WHILE i < v_days DO SET v_uuid = UNIX_TIMESTAMP(TIMESTAMPADD(DAY, i, CURRENT_TIMESTAMP)); SET v_curdate = DATE_ADD(CURRENT_DATE, INTERVAL i DAY); SET v_weekTypeid = DAYOFWEEK(DATE_ADD(CURRENT_DATE, INTERVAL i DAY)); INSERT INTO t_pao_clinic( uuid, curdate, registid, date_typeid, limit_amount, used_amount, stop_flag, resstartno, usedres_amount, limit_resamount, orgid_hosp, orgname_hosp, orgid, orgname, week_typeid ) VALUES ( CONCAT('01',v_uuid), v_curdate, '3516767879440', '01', 127, 0, 0, 0, 0, 20, v_hosptialId, v_hosptialName, v_orgId, v_orgName, v_weekTypeid ), ( CONCAT('02',uuid), v_curdate, '3516767879440', '02', 127, 0, 0, 0, 0, 20, v_hosptialId, v_hosptialName, v_orgId, v_orgName, v_weekTypeid ); SET i = i + 1; END WHILE; END;
业务需求:
从另一张表里取数据,赋给变量,然后变量一直是null,但是sql是没问题,搞了很久才找出原因,变量名和字段名只是大小写不一样。所以以后变量还是加个v_
相关文章推荐
- mysql中 DateDiff(date1, date2)函数的第一个参数需比第二个参数晚
- Mysql 读写分离 delay影响
- [转]MySQL 性能调优的10个方法
- MySQL Cluster数据分布和分区
- mysql文档摘要续3
- Mysql中自定义函数编程
- MySQL性能优化的最佳20+条经验
- Mysql5.7.8安装文档(二进制安装)
- message from server: "Host 'xxx' is not allowed to connect to this MySQL server的解决
- MySQL删除数据库某表中信息重复记录
- Emoji表情符号录入MySQL数据库报错的解决方案
- Mysql千万级记录表分表策略
- MySQL诊断分析工具 Profiling 的使用[转载]
- MySQL数据的主从复制、半同步复制和主主复制详解
- 关于查询mysql processlist的建议
- MySQL多表连接查询Left Join,Right Join(讲的一般般)
- MySQL授权
- 【错误】netstart mysql服务正在启动或停止中,请稍候片刻后再试一次
- mysql user表root 用户修改权限后出现无法访问数据库的解决方法
- 关于mysql中文字符编码设置的解决办法