테이블 내 데이터에 시퀀스만 추가하여 복사하고 싶습니다. 0 6 1,184

by 광훨 [2015.01.15 15:24:50]


T1

DV  VALUE

A  GG3

B  AG1

C  5TW

D  09A

E  RT1

...

이런식으로 되어있는 데이터를 아래와 같이 T2에 복사를 하고 싶습니다.

T2

DV  VALUE  SEQ

A  GG3  1

B  AG1  2

C  5TW  3

D  09A  4

E  RT1  5

...

이렇게요.

이미 시퀀스는 생성해 놓은 상태인데, PL/SQL을 이용해야 하나... 싶은데,

더 좋은 방법이 있을까요??

by 마농 [2015.01.15 15:58:20]

복사하는데 왜 Value 가 다르죠?

시퀀스를 생성해 놓았다는건 뭘 의미하는거죠?


by 광훨 [2015.01.15 18:40:07]

;; 답글 쓴다는게 채택됬는데....

암튼, 잘못 적었네요;;;;;

 

컨트롤 제트 눌렀는지... 킁;


by lovekod2hj [2015.01.15 17:10:37]

기존 데이터를 마이그레이션 하려는 걸로 이해되는데

기존함수는 windows 절의 이용해서 row_number() over (order by dv) 로 seq를 부여하신 후에 insert 하시고

시퀀스는 생성옵션에서 시작값을 insert된 seq의 max + 1로 설정하셔서 생성하면 됩니다.


by 광훨 [2015.01.15 18:40:19]

넵 감사합니다.


by 창조의날개 [2015.01.15 17:30:28]

그냥 시퀀스만 잡는다면 이렇게 하시며 될듯

INSERT INTO T2(DV, VALUE, SEQ)

SELECT DV, VALUE, ROWNUM FROM T1;

그후 시퀀스 생성시 SEQ최대값+1로 설정하시면 되겠죠.

 

아니면 기존 시퀀스를 이용해서 하셔도 되겠죠.

INSERT INTO T2(DV, VALUE, SEQ)

SELECT DV, VALUE, 기존시퀀스.NEXTVAL FROM T1;

 

 


by 광훨 [2015.01.15 19:20:10]

동일한 방법으로 해결했습니다. 감사합니다~

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입