所以我的问题是我需要在Migration脚本中使用一个循环才能将数据传输到新状态。 但是,似乎没有必要在迁移脚本中的Sql语句中创建存储过程。
以下内容将导致语句的“DELIMITER”部分出现语法错误:
public override void Up()
{
Sql(@"
DROP PROCEDURE IF EXISTS SomeProcedure();
DELIMITER //
CREATE PROCEDURE SomeProcedure()
BEGIN
...
END //
DELIMITER ;
CALL SomeProcedure();
");
}
该语句在MySql Workbench中运行良好。所以它必须是处理导致问题的语句的EF方式。
现在我的问题是:在迁移脚本中是否有任何方法可以创建存储过程?
似乎是DELIMITER会导致语法错误,但如果没有它,创建存储过程是不可能的? (我正在使用EF6)
我确实试图将声明分开,没有任何成功。我也尝试过不同的分隔符。
答案 0 :(得分:0)
使用CreateStoredProcedure方法创建存储过程是可行的。
"Multiple spaces".trim()
return Multiple Spaces