Mysql简单更新程序

Mysql简单更新程序,mysql,Mysql,我有一个MySQL数据库,我很难找出下面更新查询中的错误 create procedure plu_update_stock (in p_item_number varchar , in p_amount_sold decimal) beginupdate WaspTrackInventory.dbo.item set qty_available = qty_available - p_amount_sold where item_number = p_item_number ;

我有一个MySQL数据库,我很难找出下面更新查询中的错误

create procedure plu_update_stock
(in p_item_number varchar , in p_amount_sold decimal)
beginupdate WaspTrackInventory.dbo.item
    set qty_available = qty_available - p_amount_sold
where item_number = p_item_number
    ;
end       
我得到这个错误

Msg 156, Level 15, State 1, Procedure plu_update_stock, Line 3
关键字“in”附近的语法不正确

有人能帮我找出错误吗

CREATE PROCEDURE plu_update_stock (IN p_item_number VARCHAR, IN p_amount_sold DECIMAL)
BEGIN
    UPDATE `WaspTrackInventory.dbo.item`
        SET qty_available = qty_available - p_amount_sold
            WHERE item_number = p_item_number;
END;

但是我相信,名称
p\u item\u number
看起来像
INT
,因为它是“number”,而带有点的名称
WaspTrackInventory.dbo.item
的表对我来说很不寻常。

错误
Msg 156,级别15…
意味着您使用的不是MySQL,而是MS SQL Server。MySQL的错误消息类似于
error 1064。请查看手册,以了解在…附近使用的正确语法。
beginupdate
开始之后添加空格看起来是假的。谢谢tom!我想我会从你给我的链接重新开始!我从没想过我会这么说。。。。但我很乐意回到oracle数据库。我检查了数据库中的列类型,它肯定是一个p_item_编号。这些点只是表示表格的路径。不幸的是,我试过有没有骰子。谢谢,虽然我的代码中没有“as”,但in是数据库的错误语法。。。。我应该把@放在它前面