database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6238 게시물 읽기
No. 6238
insert into ()... select () form.... 이런식으로 넣을때 pk 문제
작성자
박기원
작성일
2005-07-29 15:23ⓒ
2005-07-29 20:54ⓜ
조회수
2,526

안녕하세요?

같은 테이블에.. 같은 자료를 다시 넣을려고 합니다.

table

seq | name | sosok

1 | A 사람| 1

2 | B 사람 | 1

 

이런 테이블에서...

3 | A 사람 | 2

4 | B 사람 | 2

 

이런식으로 추가를 해주고 싶습니다.

단순 insert select 로는 seq (pk)의 처리와..... sosok 컬럼에 들어가는 값을 2라는 특정 값을 주고 싶은데.. 어떡해야할지 모르겠습니다. 부탁드립니다.^^

 

일단 제가 해본거는

insert into tablename (seq, name, sosok) select (select max(seq) from tableName)+1, name, 2 from tableName where sosok=1

이런식으로 해봤는데요

문제는 (select max(seq) from tableName)+1 이부분이 한 줄마다 증가가 되어야 하는데 늘 같은 값입니다.ㅠㅠ

이거 어떻게 해결을 해야 할까요?

이 글에 대한 댓글이 총 1건 있습니다.

시쿼스를 써야할 것 같네요.

테이블의 seq 속성에 default 를 nextval('sequence이름')으로 지정해두고, insert into ...때, seq를 빼고 select into 하면, 자동으로 증가된 값이 들어갈 것 같네요. 딱히 다른 방법이 없는 듯.

김상기(ioseph)님이 2005-07-30 11:39에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6242세개 테이블을 left join 걸려면.. 어떻게 하나요? [2]
박기원
2005-08-02
2647
6240학사관리에서.. 대체과목 지정하는거 설계를 어떻게 해야하나요? [4]
박기원
2005-08-01
2085
6239숫자값을 콤마(,)를 넣어 표현하는 함수가 있나요? [1]
김창욱
2005-07-29
4426
6238insert into ()... select () form.... 이런식으로 넣을때 pk 문제 [1]
박기원
2005-07-29
2526
6237pg_restore 사용시 권한에러 [1]
김이수
2005-07-29
2409
6236(급질문)DB자료 복구문제 [4]
호랑이
2005-07-28
2518
6235PSQL 메모리 디비 사용하기 정보좀.. [1]
오지수
2005-07-28
2187
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다