create table AAA
(
id integer primary key,
a1 integer default 0,
b1 integer default 0,
c1 integer default 0,
d1 integer default 0,
e1 integer default 0,
...
)
와 같은 테이블을 생성하여 데이터들을 입력해둔 상태입니다.
이 테이블 내에서 row 간의 데이터를 복사해야할 일이 생겼습니다.
id가 4인 row의 데이터를 6인 곳으로 통째로 복사한다고 하면
제가 검색을 잘못한 것인지 기존의 복사 구문들을 이용해서 insert into나 update를 시도시
id가 unique 하여 복사가 되지 않는 것 같은데
1. id를 제외하고 모든 데이터를 한꺼번에 특정 id의 row로 복사하는 구문이 가능할까요.
2. 그게 안된다면 어떤 식으로 쿼리를 줘야 효율적으로 복사가 가능할런지요.
Comment 1
-
이스트럭(강동운)
2014.05.26 18:33
안녕하세요. 이런 식으로 덮어쓰기가 가능합니다.
감사합니다 ^^
UPDATE AAA
SET id = B.ID
, a1 = B.a1
, b1 = B.b1
...
from aaa as a
inner join
(
select 6 as id, a1, b1 .... from aaa where id = 4
) b on a.id = b.id