求你了,我不明白它为什么不起作用:
SET @key = (SELECT customer.key_stamp FROM customer WHERE customer.key_stamp = "0000");
CASE WHEN (@key > 0) THEN
INSERT INTO transaction
(transaction.to, transaction.key, transaction.type, transaction.cost_bitcoin, transaction.quantity)
VALUES ("0000", "f5rwsd", 2, 0.0075,
(500000 +
(
(SELECT bonus.amount
FROM bonus
WHERE 500000 BETWEEN bonus.min_quantity AND bonus.max_quantity
) / 500000
) * 100))
END;我试过案例陈述,但仍然不起作用,我不明白这个问题。请帮帮忙。
发布于 2018-02-18 18:07:15
事实上,现在我只使用一个sql函数,它现在工作了,所有的都可以工作,切换用例mysql,如果else语句mysql也是,循环也是,就像尽管做,或者循环迭代,所有的工作,只需要在sql函数或sql过程中使用它。
发布于 2017-07-28 00:53:12
CASE不是有效的MySQL语句。(它不是MySQL存储程序上下文之外的有效语句。)
“为什么这不是工作”。是因为它不是有效的SQL。
CASE表达式可以在允许表达式的SQL语句中使用。(在SQL中,表达式返回特定数据类型的值。)
作为在SQL语句中使用CASE表达式的示例,如下所示:
SELECT CASE WHEN @key > 0 THEN 'somevalue' ELSE 'othervalue' END AS foohttps://stackoverflow.com/questions/45363057
复制相似问题