我需要某人帮助试图弄清为什么这BEGIN尝试向我抛出一个错误?错误代码1064开始尝试
use my_guitar_shop;
DROP PROCEDURE IF EXISTS update_product_discount;
DELIMITER $$
CREATE PROCEDURE update_product_discount
(
IN product_id INT,
IN discount_percent INT
)
BEGIN
BEGIN TRY
UPDATE products
SET discount_percent = discount_percent
WHERE product_id = product_id
END TRY;
END;
BEGIN CATCH
IF discount_percent < 0 THEN
SELECT 'The discount percent must be positive' AS message
END CATCH;
END $$
DELIMITER ;
请勿将变量名称与表格中的列名称相同。如果您的意思是传入的参数或表中的列,数据库引擎会感到困惑。一个很好的约定是P_IN_FieldName或P_OUT_Fieldname,所以你知道它是一个输入参数还是输出参数。 – xQbert