帮看看这段存储过程

zzxap 2010-12-16 10:54:31
对mysql不是很熟。。


DROP PROCEDURE IF EXISTS InsertUserInfo;
create PROCEDURE InsertUserInfo()
BEGIN
DECLARE i int DEFAULT 0;
START TRANSACTION;
DECLARE username VARCHAR(20);
WHILE i<600000 DO
set username= concat('test', i);
INSERT INTO userinfo
(
CompanyId,LoginName,Password,UserType,SurName,GivenName,Gender,DOB,
IDCardNum,TelOffice,TelMobile,Email,IM1,IM2,Fax,LastLoginTime,LoginCount,
Status,Notes,Flag,CreateUser,CreateTime,CreateIP
)
VALUES
(
0,username,'e10adc3949ba59abbe56e057f20f883e',30,'test','test','M',
'2010-12-16 00:00:00','440921198406082356','0750-88888888','1369999999','xxx@bvbuy.cn','222222',
'222222','0750-5555555555','2010-12-16 00:00:00',20,1,'test','M',1,'2010-12-16 00:00:00','192.168.1.90'
);

set i=i+1;
END WHILE;
COMMIT;
END


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE @username VARCHAR(20);
WHILE i<600000 DO
set @u' at line 5
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzxap 2010-12-16
  • 打赏
  • 举报
回复
这个版的分都给你们两个瓜分了,哈哈
wwwwb 2010-12-16
  • 打赏
  • 举报
回复
DELIMITER $$
DROP PROCEDURE IF EXISTS InsertUserInfo $$
CREATE PROCEDURE InsertUserInfo()
BEGIN
DECLARE i INTEGER DEFAULT 0;
DECLARE username VARCHAR(20);
START TRANSACTION;

WHILE i<600000 DO
SET username=CONCAT('test', i);
INSERT INTO userinfo
(
CompanyId,LoginName,PASSWORD,UserType,SurName,GivenName,Gender,DOB,
IDCardNum,TelOffice,TelMobile,Email,IM1,IM2,Fax,LastLoginTime,LoginCount,
STATUS,Notes,Flag,CreateUser,CreateTime,CreateIP
)
VALUES
(
0,username,'e10adc3949ba59abbe56e057f20f883e',30,'test','test','M',
'2010-12-16 00:00:00','440921198406082356','0750-88888888','1369999999','xxx@bvbuy.cn','222222',
'222222','0750-5555555555','2010-12-16 00:00:00',20,1,'test','M',1,'2010-12-16 00:00:00','192.168.1.90'
);

SET i=i+1;
END WHILE;
COMMIT;
END $$
DELIMITER ;
ACMAIN_CHM 2010-12-16
  • 打赏
  • 举报
回复
DROP PROCEDURE IF EXISTS InsertUserInfo;
create PROCEDURE InsertUserInfo()
BEGIN
DECLARE i int DEFAULT 0;
DECLARE username VARCHAR(20);
START TRANSACTION;


===
DECLARE 必须放在其它语句之前。
zzxap 2010-12-16
  • 打赏
  • 举报
回复

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE username VARCHAR(20);
WHILE i<600000 DO
SET use' at line 5

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧