Oracle SQL 쿼리, 사례 섹션과 함께 제출 된 연결
문제
현재 둘 이상의 테이블에서 SQL 삽입 문을 생성하고 있으며 생성 된 데이터에서는 다음과 같은 CASE 문을 사용해야합니다.
select 'INSERT INTO TABLE1 (f1, f2, f3, f4 ...) values ('
||t.f1||','
||CASE
WHEN t.f2 > 0 THEN '1'
ELSE '0'
END CASE
from table2 t , table3 t3
하지만이 시점에서 내 진술을 계속하고 싶다면 ... END CASE||','|| ....
Toad는 From Keyword를 찾지 않는 것에 대해 불평하기 때문에 더 이상 쿼리를 실행할 수 없습니다.
빠른 해결책은 OUPUT를 필드로 분리 한 다음 텍스트로 저장하고 편집하는 것이지만 더 나은 방법이 있어야합니다.
해결책
최종 사례 대신 끝을 사용하십시오
select 'INSERT INTO TABLE1 (f1, f2, f3, f4 ...) values ('
||t.f1||','
||CASE
WHEN t.f2 > 0 THEN '1'
ELSE '0'
END||','||t.f2
from table2 t , table3 t3
다른 팁
비슷한 상황에서 "Decode"기능은 상당히 잘 작동합니다.
표현식 (t.f2> 0)을 디코드로 공급 한 다음 't'를 '1', 'f'로 '0'으로 번역 할 수 있습니다.
나는 이것을 시도하지 않았다.
제휴하지 않습니다 StackOverflow