나는 다음과 같은 쿼리가 :ORA-00905 : CASE의 THEN 절에 대한 키워드가 누락 되었습니까?
는 위의 쿼리 포스트 그레스와 MySQL을위한 그러나 오라클에서 작동SELECT name,tid FROM table_name WHERE status=1 AND
CASE
WHEN EXISTS (SELECT 1 FROM table_name WHERE name='name1' AND tid='tid1' AND status=1)
THEN name='name1' AND tid='tid1'
ELSE name='name2' AND tid='tid2'
END;
내가이 오류를 :
는THEN name='name1' AND AND tid='tid1'
*
ERROR at line 4:
ORA-00905: missing keyword
사람은 무슨 여기에 잘못 말해 주시겠습니까 어떻게 수정하는 방법 쿼리는 에 대한 세 가지 작동하도록 - 포스트 그레스, MySQL과 오라클
그것은 업데이트가 아닌 선택 쿼리입니다. 당신은 그와 같은 필드에 값을 할당 할 수 없습니다. –
값을 지정하지 않고'name = "name1"AND tid = "tid1"'은 WHERE 절의 일부입니다. 그리고 쿼리는 mysql과 postgres에서 작동합니다. 문제는 제가 직면 한 것이 오라클에 있습니다. – user2713255
예, 그렇습니다. 'name = "name1"'은 "결정"컨텍스트에 없으며, "then"에 있습니다. 여기서 case 문 결과에 대한 값을 반환해야합니다. –