programing

마리아에서 SELECT IF 내부에 INSERT를 실행할 수 있습니까?DB

muds 2023. 9. 14. 00:01
반응형

마리아에서 SELECT IF 내부에 INSERT를 실행할 수 있습니까?DB

IF 쿼리 결과를 바탕으로 INSERT 쿼리를 실행하려고 합니다.다양한 구문을 사용해 보았습니다.a를 사용하고 싶지 않습니다.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 중 하나를 INSERT로 바꾸려고 하면 구문 오류가 발생합니다.

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

언급URL : https://stackoverflow.com/questions/44133625/is-it-possible-to-run-an-insert-inside-a-select-if-in-mariadb

반응형