gpt4 book ai didi

mysql - 从迁移创建存储过程

转载 作者:数据小太阳 更新时间:2023-10-29 03:14:49 26 4
gpt4 key购买 nike

我在 GO 中有一个项目,它检查应用程序启动时是否有新的迁移要应用(我正在使用库 https://github.com/mattes/migrate)。

现在的问题是我要在其中一个迁移中创建一个存储过程(因为稍后会调用它,我需要在迁移中创建它,否则测试套件当然会失败)。

一个例子可以是这个:

DELIMITER @@
CREATE PROCEDURE get_value(my_id BIGINT(20), OUT out_value DOUBLE)
BEGIN
SELECT CASE
WHEN o.financial_status = "test" THEN 0
ELSE 1
END
INTO out_value
FROM `order` o
LEFT JOIN `my_table_2` io ON io.field_2 = o.id
LEFT JOIN `my_table_3` ip ON io.field_3 = ip.id
WHERE o.id = my_id;
END @@
DELIMITER ;

据我所知,这可能是不可能的,因为 go 的 sql 驱动程序不支持多语句(我们使用的是 mysql 5.6)。

还有其他方法吗?谢谢!

最佳答案

其实我遇到过同样的情况。我运行它的方式是删除所有定界符声明并运行它。由于您在迁移中不需要分隔符,它将自动终止(或实际命名)并且迁移应该运行。

关于mysql - 从迁移创建存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39388467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com