MySQL存储了PROCEDURE @符号并且无法正常工作

时间:2014-09-30 13:03:12

标签: mysql

我正在尝试在我的SQL服务器中创建一个过程,但是它给出了一个错误:As和@s无效。为什么会这样?

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

1 个答案:

答案 0 :(得分:0)

在MySQL中,过程参数不使用@前缀,而是使用自定义前缀来避免字段冲突名称:

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