我试图根据IF查询的结果运行INSERT查询。我尝试了各种语法。我不想使用stored procedure
只是一个简单的查询。
这有效:
select IF ( select sum(price) from my_table ) > 1000,
'high price',
'low price'
);
这甚至适用于SELECT查询。
select IF ( select sum(price) from my_table ) > 1000,
( select something ),
( select something else )
);
但是当我尝试用INSERT替换其中一个SELECT时,我会收到语法错误。
select IF ( select sum(price) from my_table ) > 1000,
( select something ),
( insert something )
);
我将insert something
作为独立查询进行了测试,并且工作正常。
但是可以在IF表达式中使用它吗?
答案 0 :(得分:0)
不可以,除非你在程序块中(使用stored procedure
)然后你就可以这样做
IF(( select sum(price) from my_table ) > 1000)
BEGIN
( select something );
( insert something );
END