MySQL控制流建议(CASE / THEN)

时间:2012-09-05 12:54:35

标签: mysql if-statement controls flow

我手上有一个非常奇怪的问题。我有一个项目,以前的数据库工程师没有考虑数据库设计,现在我坚持下去。我的问题很简单:

我有两个不同的选择查询,如果设置了一个字段,就应该执行其中一个,即

如果field1为0 - >执行查询1 如果field1是1 - >执行查询2

到目前为止,我到了这里:

SELECT should_i_care
FROM 
    product_sample
WHERE
    pid='XXX'
CASE should_i_care
    WHEN '1' then call query2
    WHEN '0' then call query1

但发现我无法宣布我想要运行的查询。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

它应该是像这样的脚本或存储过程

DECLARE  shouldICare INT; 

SELECT @shouldICare := should_i_care
FROM 
    product_sample
WHERE
    pid='XXX';

IF @shouldICare = 1 THEN
   Call query2;
ELSE
   Call query1;
END IF;