문제

현재 둘 이상의 테이블에서 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'으로 번역 할 수 있습니다.

나는 이것을 시도하지 않았다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top