Mysql简单更新程序
我有一个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 ;
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是数据库的错误语法。。。。我应该把@放在它前面