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
운영게시판
최근게시물
MS-SQL Q&A 4227 게시물 읽기
No. 4227
같은 table내 데이타를 복사해 새로운 데이타로 만드는 query는?
작성자
김기완
작성일
2008-05-27 11:28ⓒ
2008-05-27 11:57ⓜ
조회수
4,616

예를 들어 test라는 table 이 아래와 같을때

번호  제품명  위치   품목    가격
---------------------------------
1         연필     01    문구     100
2         공책     02    문구     200
3         볼펜     01    문구     100


위 테이블에서 번호 1을 4로 복사해서 아래와 같이 데이타를 추가하려고 합니다.
선택한 데이타를 MAX+1 의 번호값으로 추가하려는 겁니다. 


번호  제품명  위치   품목    가격
---------------------------------
1         연필     01    문구     100
2         공책     02    문구     200
3         볼펜     01    문구     100
4         연필     01    문구     100

어떻게 쿼리를 해야 하는지 잘 안되네요...

INSERT test select * from  test where 번호="& request("번호") 의 query사용시 

PRIMARY KEY 제약 조건 'PK_test'을(를) 위반했습니다. 
'test' 개체에 중복 키를 삽입할 수 없습니다. 문이 종료되었습니다. 라고 나오네요

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

insert into test (번호, 제품명, 위치, 품목, 가격)

select 

번호 = (select isnull(max(번호)) + 1 from test)

, 제품명

, 위치 

, 품목

, 가격 

from test

where 번호 = 1 

.님이 2008-05-27 11:38에 작성한 댓글입니다.
이 댓글은 2008-05-27 11:39에 마지막으로 수정되었습니다. Edit

댓글에 감사드립니다

create table test(

번호   int  primary key
,제품명   varchar(10)
,위치   varchar(10)
, 품목    varchar(10)
, 가격 int
)

insert into test values(1,'연필',' 01','문구',100)
insert into test values(2,'공책',' 02','문구',200)
insert into test values(3,'볼펜',' 01','문구',100)


insert into test (번호, 제품명, 위치, 품목, 가격)
select
번호 = (select isnull(max(번호)) + 1 from test)
, 제품명
, 위치
, 품목
, 가격
from test
where 번호 = 1 

알려주신대로 실행하면
isnull 함수에는 2개의 인수가 필요합니다.
라는 오류가 발생합니다

김기완님이 2008-05-27 12:04에 작성한 댓글입니다.
이 댓글은 2008-05-27 12:17에 마지막으로 수정되었습니다. Edit

죄송 

isnull(max(번호), 0) + 1

.님이 2008-05-27 12:06에 작성한 댓글입니다. Edit

답변을 주셔서 감사합니다
알려주신대로하니 원하는값을 얻었습니다
감사합니다

김기완님이 2008-05-27 12:19에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4231DB내 테이블의 생성날짜를 알수있나요? [1]
질문
2008-05-29
3677
4229차액을 표현하고 싶습니다. [1]
질문요
2008-05-27
4312
4228서브쿼리에서 찾아올 때는 풀 스캔, 키 값 범위 주면 index 를 타는 문제
김기운
2008-05-27
4242
4227같은 table내 데이타를 복사해 새로운 데이타로 만드는 query는? [4]
김기완
2008-05-27
4616
4226가변형에서 ' 의사용법 에 대해서 알고 싶습니다. [1]
이돈규
2008-05-26
4308
4224Sum 을 여러번 하는데 너무 느려요~!! [2]
최승위
2008-05-26
4413
4223오라클 펑션을 MS SQL로 변환하려고 합니다. [1]
질문요
2008-05-23
4975
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다