我正在尝试查询以同时创建多个过程;但是,当我尝试在开始时删除它们时会抛出 1064 错误,并且只考虑第一个过程查询。
当我尝试单独运行它时,它完美地创建了过程,但当我一起运行时它停止了,它在第一次下降后停止
DROP PROCEDURE IF EXISTS add;
DROP PROCEDURE IF EXISTS remove;
DROP PROCEDURE IF EXISTS edit;
#PROCEDURE TO ADD
DELIMITER //
CREATE PROCEDURE add
(p_Name VARCHAR(30), p_Quantity DECIMAL(6,2), p_QuantityType VARCHAR(5), p_Notes VARCHAR(50))
BEGIN
INSERT INTO table
(name, quantity, quantity_type, notes)
VALUES
(p_Name, p_Quantity, p_QuantityType, p_Notes);
COMMIT;
END //
DELIMITER;
#PROCEDURE TO REMOVE BASED ON THE INVENTORY ITEM ID
DELIMITER //
CREATE PROCEDURE remove
( p_Id SMALLINT(4))
BEGIN
DELETE FROM table
WHERE id=p_Id;
COMMIT;
END//
DELIMITER ;
#PROCEDURE TO EDIT BASED ON THE INVENTORY ITEM ID
DELIMITER //
CREATE PROCEDURE edit
(p_Name VARCHAR(30), p_Id SMALLINT(4))
BEGIN
UPDATE table
SET name=p_Name
WHERE id=p_Id;
COMMIT;
END //
DELIMITER ;
最佳答案
建议避免使用保留字(add、table)或给予特殊处理。参见 9.3. Reserved Words .
关于mysqlyog drop 几个程序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835683/