我正在尝试根据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 )
);
但是当我尝试用插入替换其中一个 SELECT 时,我收到语法错误。
select IF ( select sum(price) from my_table ) > 1000,
( select something ),
( insert something )
);
我将insert something
作为独立查询进行了测试,它工作正常。但是是否可以在 IF 表达式中使用它?
不,
除非您处于程序块中(使用 stored procedure
(,否则这是不可能的,然后您可以这样做
IF(( select sum(price) from my_table ) > 1000)
BEGIN
( select something );
( insert something );
END