我有一个包含多个部分的MySql存储过程。过程接收一个INT "inId“和一个名为"inIgnoreLogTypes”的VARCHAR500参数,这是一个逗号分隔的数字列表。INTO affectedNumbers FROM Users am WHERE am.userID = inId;
我需要这样做,因为变量"affectedNumbers“稍后将在这个相当大的存储过程中使用,所以为了提高性能,我不想使用"IN (Select ...)”每次
我试图将IF与MySql stored procedure中的其他代码一起使用,但事情似乎不太顺利,我无法保存存储过程。如果我删除了IF,就可以正常工作,并且能够保存存储过程。
问题是IF在那里。* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQLserver version for the right syntax to use near
如何在WHERE中写入正确的PROCEDURE子句,这取决于数组中的参数,其默认值为NULL。WHEN param2 is NULL OR param2 = "" then " " else name IN (param2)
WHERE子句应该检查每个参数是否为null,如果为null,则转到下一个参数,如果不是,它应该执行公式f.e.q `name` IN (param2),然后检查next param
我想从这个查询中得到类似的结果。