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을 이용해야 하나... 싶은데,
더 좋은 방법이 있을까요??
복사하는데 왜 Value 가 다르죠?
시퀀스를 생성해 놓았다는건 뭘 의미하는거죠?
;; 답글 쓴다는게 채택됬는데....
암튼, 잘못 적었네요;;;;;
컨트롤 제트 눌렀는지... 킁;
기존 데이터를 마이그레이션 하려는 걸로 이해되는데
기존함수는 windows 절의 이용해서 row_number() over (order by dv) 로 seq를 부여하신 후에 insert 하시고
시퀀스는 생성옵션에서 시작값을 insert된 seq의 max + 1로 설정하셔서 생성하면 됩니다.
넵 감사합니다.
그냥 시퀀스만 잡는다면 이렇게 하시며 될듯
INSERT INTO T2(DV, VALUE, SEQ)
SELECT DV, VALUE, ROWNUM FROM T1;
그후 시퀀스 생성시 SEQ최대값+1로 설정하시면 되겠죠.
아니면 기존 시퀀스를 이용해서 하셔도 되겠죠.
SELECT DV, VALUE, 기존시퀀스.NEXTVAL FROM T1;
동일한 방법으로 해결했습니다. 감사합니다~