有没有办法在MySQL中的一个SELECT查询中设置多个变量?
大家好。
在我的SP中,有一个像这样的SELECT查询。
SELECT val_01, val_02 INTO var_01, var_02 FROM table_name WHERE col_name = condition_01;
此查询正常工作。
但我已经为SQLWARNING添加了退出处理程序,当上面的SELECT查询没有结果时,它会使SQL WARNING如此并停止。
无数据 - 零行获取,选择,或加工
我GOOGLE和找到一种方法来解决这个问题。它正在改变这样的查询...
SELECT var_01 = val_01, var_02 = val_02 FROM table_name WHERE col_name = condition_01;
此查询的工作原理。但是原始查询和修改后的查询之间存在差异。
在SP中,原始的不会抛出SELECT查询的结果。它只是将SELECT查询的值放入变量中。
但后者会将其SELECT结果与变量的值一起抛出。
所以我调用SP的cpp代码得到错误的值。
我可以改变查询..
SET var_01 = SELECT val_01 FROM table_name WHERE col_name = condition_01;
SET var_02 = SELECT val_02 FROM table_name WHERE col_name = condition_01;
但你也知道,这是非常低效和下面的查询不起作用。
SET var_01, var_02 = (SELECT val_01, val_02 FROM table_name WHERE col_name = condition_01);
有没有一种有效的方法来使原始查询的结果相同?
请帮帮我。谢谢。
然后在您的退出处理程序中解决此特定情况(例如,如果第一个查询不返回任何记录,则不要退出)。 – Shadow