Insert에 대해서 질문 드립니다.! 0 8 1,732

by InSilence [SQL Query] [2010.11.25 15:51:54]



INSERT INTO DT_IPSIMUNHANG_M VALUES
   (YEAR
   ,HAKGI
   ,JEONHYEONG_CD
   ,TEAM_CD
   ,HANGMOK_CD
   ,NAEYONG
   ,UPDATE_ILSI
   ,UPDATE_SABEON
   ,GWAJEONG_CD)
SELECT  YEAR
,HAKGI
,REPLACE(JEONHYEONG_CD, 'IP01000', 'IP01001')
,TEAM_CD
,HANGMOK_CD
,NAEYONG
,UPDATE_ILSI
,UPDATE_SABEON
,GWAJEONG_CD
FROM DT_IPSIMUNHANG_M

이 쿼리에서.. 테이블안에 있는 데이터들을 모두 복사하는데

JEONHYEONG_CD 의 값만 IP01000 -> IP01001 로 바꿔서 복사하는 쿼리를 작성했습니다.

하지만 제가 무식한지라 이렇게 길게 쿼리를 작성하였는데... 이 쿼리를 더 간단하게

표현할수 있는지 궁금하여서 질문을 올립니다. ^^;
by xx [2010.11.25 16:18:30]
이 테이블에 pk는 없는건가요?

by InSilence [2010.11.25 16:21:37]
네 없습니다.

by xx [2010.11.25 16:25:38]
그렇다면..
IP01000 -> IP01001 로 기타 다른코드는 그대로죠?

replace 그대로 사용하셔도 되구요. decode도 되구요.
decode(JEONHYEONG_CD,'IP01000','IP01001',JEONHYEONG_CD)

by InSilence [2010.11.25 16:27:07]
네 다른 코드로 다 그대로 가는데 JEONHYEONG_CD만 수정후 삽입하는거라서 제가 만든 쿼리에서 더 간단하게 할수는 없는건가요?

by 마농 [2010.11.25 16:36:29]
조인을 한다거나, 서브쿼리를 사용한다거나 하는게 없는 그냥 단순 조회인데 뭐가 복잡한가요?
컬럼을 쭈욱 나열한것 때문에 그러하다면, 이는 어쩔 수 없는 것입니다.

by InSilence [2010.11.25 16:44:22]
친절한 답변 감사 드립니다. ^^; 제가 오라클 초보라서 INSERT 할때 특정한 값만 수정해서 넣을수 있는지 궁금해서 물어본거이였는데 이것이 가장 간단한 방법이였군요 ^^;

by xx [2010.11.25 16:50:19]
update할때라면 몰라요. insert작업하는데 특정값만 바꾼다는건..
나머지는 오라클이 알아서 작업해주길 바라는군요 ^^
아직 오라클 인공지능이 떨어져서 안됩니다.

by InSilence [2010.11.25 16:51:22]
아하!! 그렇군요 ^^; 저도 얼른 실력을 키워서 질문이 아니라 답변을 달아주는 그날이 와야 할텐데 말이죠 ^^;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입