mysqlyog drop 几个程序查询

标签 mysql database stored-procedures mysql-error-1064 sqlyog

我正在尝试查询以同时创建多个过程;但是,当我尝试在开始时删除它们时会抛出 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 .

SQL Fiddle demo

关于mysqlyog drop 几个程序查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21835683/

相关文章:

mysql - 如何最佳地在 WHERE 子句中使用 COALESCE()?

php - php数据库的最佳选择

python - 带有适用于 Ubuntu 的 Python 客户端和 Gui 工具的免费 RDMBS

Python存储过程未运行,没有错误

php - 调用存储过程时出错

MySQL谜题: How to combine result in Loop?

mysql - SQL 仅选择列上具有最大值的行

mysql - MySQL 中的错误 1064 (42000)

data-structures - Redis区间查询

php - 如何根据数据库中的另一个变量存储不同自增的ID