2012-08-28 36 views
-1

晚報人,MySQL存儲過程的語法問題(Eclipse的SQL瀏覽器)

我無法寫一個MySQL的存儲過程,我已經通過一些教程讀因爲我更習慣書寫存儲的特效對於Sybase。

圍繞第8行的這個過程有些不對。我嘗試過改變大量關於它的東西並簡化它,但是我仍然無法使它工作。

我正在通過Eclipse SQL Explorer插件運行此代碼。

開始懷疑它在服務器端的一些設置。

任何人都可以看到爲什麼這不起作用的原因?

 DROP PROCEDURE IF EXISTS myDB.myProc; 
    GO 
    CREATE PROCEDURE myProc(
     IN p1 INT, 
     IN p2 INT, 
     IN p3 INT, 
     IN p4 INT, 
     IN p5 TEXT) 
    BEGIN 
     DECLARE dateToday DATETIME; 
     SELECT dateToday = GETDATE(); 

     INSERT INTO myTable(id_p1, 
          id_p2, 
          id_p3, 
          id_p4, 
          id_p5, 
          id_p6) 
        VALUES(p1, 
          p2, 
          p3, 
          p4, 
          p5, 
          dateToday);  
    END 

任何幫助,將不勝感激:)

乾杯,

戴夫MCB

回答

1

我不知道關於MySQL sintax,但變量不應該是這樣嗎? :

DECLARE @dateToday DATETIME; 
Set @dateToday = NOW(); 

另外,我覺得Getdate()MSSQL,你應該在MySQL

+0

使用NOW()使用@標誌拋出近「@dateToday DATETIME」,而不是它的通常「」附近,我的語法錯誤m也習慣了@方法,讀起來更容易,但MySQL似乎並不喜歡它...... :( 儘管爲NOW()提示乾杯!GETDATE()僅僅是一個黑暗中的刺經驗大聲笑:) – DMcB1888