2011-01-06 79 views
0

我想了解自己的Mysql语法。到目前为止,我只使用过MSSQL。我下载了MySQL查询浏览器,并且已经安装了MySQL 5.1版查询语句中的MySQL错误

我想跑这一行的在MySQL的结果集选项卡上的代码,但我不断遇到以下错误

你有一个错误的SQL语法;检查对应于你的MySQL服务器版本使用附近的正确语法手册在行“宣布卢旺达国际刑事法庭廉政” 1

代码:

declare iCtr int; 
set iCtr = 1; 

while iCtr < 1000 
begin 
    insert into employee (emp_id,emp_first_name,emp_last_name,status_id) 
     values (iCtr, 'firstName' + iCtr, 'lastName' + iCtr, 1) 
     set iCtr = iCtr + 1; 
end 

我只是想填充我的员工表,但我无法超越MySQL语法。

回答

1

来自:http://dev.mysql.com/doc/refman/5.0/en/declare.html

DECLARE只允许在BEGIN ... END复合语句,并且必须是在它的开始,任何其他语句之前。

我认为这可能是麻烦?

+0

感谢您的答复。我尝试了你的建议,但我仍然遇到同样的错误。请提供任何其他提示。 – 2011-01-06 08:51:14

+0

你尝试了什么,新的错误是什么?因为绣线必须至少改变;) – Nanne 2011-01-06 09:04:21

1

尝试

DELIMITER $$ 


DROP PROCEDURE IF EXISTS `procedurename`$$ 

CREATE PROCEDURE `procedurename`() 
BEGIN 
     declare iCtr int; 
set iCtr = 1; 

while iCtr < 1000 do 

    insert into employee (emp_id,emp_first_name,emp_last_name,status_id) 
     values (iCtr, 'firstName' + iCtr, 'lastName' + iCtr, 1); 
     set iCtr = iCtr + 1; 
end while; 

    END$$ 

DELIMITER ;