2014-09-30 53 views
0

我正在嘗試在我的SQL服務器中創建一個過程,但它給出了一個錯誤:As和@s無效。這是爲什麼發生?MySQL store PROCEDURE @ sign和As not working

CREATE PROCEDURE getLocation 
    (@location varchar(10)) 
    AS 
    SELECT Product, Quantity 
    FROM Inventory 
    WHERE Warehouse = @location 
+6

這是*的Microsoft SQL Server *語法...爲的MySQL丟失@/AS並且在BEGIN/END中換行(請參閱CREATE PROCEDURE的文檔) – 2014-09-30 13:06:45

回答

0

在MySQL的程序參數不使用@前綴,使用自定義的前綴來避免衝突現場名稱:

DELIMITER $$ 
CREATE PROCEDURE getLocation 
    (p_location varchar(10)) 
BEGIN 
    SELECT Product, Quantity 
    FROM Inventory 
    WHERE Warehouse = p_location 
END$$ 
+0

感謝上面的MS SQL-SEVER代碼,我發現它。在我的SQL存儲過程中,與MS SQL-SEVER語法不同 – 2014-09-30 13:24:56