gpt4 book ai didi

c# - 在 .sql 脚本文件中存储 MySQL 过程调用并执行它

转载 作者:行者123 更新时间:2023-11-29 06:16:31 26 4
gpt4 key购买 nike

是否可以像标题说的那样做?所以在实践中,我们让我们的客户设置了他们的 mysql 数据库。我想向他们发送一个带有链接 .sql 文件的可执行文件,该文件存储一个过程,所以一旦他们运行这个脚本,它就会用脚本中的语句更新他们的数据库。

我最初可以通过简单地使用像 UPDATE 和 ADD(不是存储过程)这样的 mysql 语句,将它们存储在一个 sql 文件中,并让我的 c# 应用程序执行每个语句来做到这一点,但后来我无法使用我的情况需要的 sql 中的 IF ELSE 条件。过程调用允许条件语句,但我不知道如何将它们存储在 .sql 文件中并执行它们。

这可能吗?

最佳答案

是的,很有可能。你想在你的 SQL 脚本中做的是创建你的存储过程,然后执行它(并可能在你的脚本末尾再次删除它)。

这是一个示例脚本:

DROP PROCEDURE IF EXISTS spMyProc;

DELIMITER //
CREATE PROCEDURE spMyProc()
BEGIN
/* Do stuff */
END//
DELIMITER ;

CALL spMyProc();
DROP PROCEDURE spMyProc;

DELIMITER 命令用于确保通常的语句分隔符 ; 可以在存储过程的主体内使用,而不是 中的分隔语句脚本

我在这里创建了一个 SQL fiddle 来演示,尽管由于 SQL fiddle 的限制它没有使用分隔符命令。 http://sqlfiddle.com/#!9/752bf/1/0

希望这能让您走上正轨。

关于c# - 在 .sql 脚本文件中存储 MySQL 过程调用并执行它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625774/

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