2011-01-06 42 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 ;