场景:我试图将一个字符串设置为一个变量,然后将其传递给一个准备好的语句。我正在使用“concat”函数来创建将要传递的字符串。
查询:
set @floatvar := 'test1'
set @random_var2 := concat('SELECT ', @floatvar, ' AS Fields, COUNT(CASE WHEN ', @floatvar, ' IS NULL THEN 1 END) AS NullCount');
obs:我的查询有更多的部分要包含在字符串中,但即使只有这一部分,我也已经有麻烦了,所以我一步一步地做。
问题:当我尝试运行这个程序时,第2行出现语法错误(SQLerror1064)。我不知道为什么会这样。
问题:是什么导致了这个问题,如何解决?
2条答案
按热度按时间nwsw7zdq1#
给这个
结果
如果你这么做
结果
最好在激发到动态sql之前检查prepared语句的工作情况,因为来自动态sql的错误消息可能没有帮助。
mbjcgjjk2#
没有选择。。变成。。这样地:
样品