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 1408 게시물 읽기
No. 1408
쿼리 질문입니다.
작성자
김명섭
작성일
2004-07-03 14:49
조회수
4,522

질문 1. 스토어드 프로시저로 로그를 로그테이블에 매 10분단위로 테이블에 기록을 합니다.

그런데 어느순간부터 테이블 맨 아래 추가가 되는 것이 아니라 중간 엉뚱한 데다가 기록을 합니다.

이것을 모르고 기록이 되지 않았다고 생각을 했었더랬습니다. 왜 중간에 껴 넣는 것인가요?

테이블 구조입니다. 아래는 테이블 구조입니다.

visitorlog
logdate datetime
visitorcount int
cu int


질문 2. 그래서 중간에 껴들어간 데이타를 다시 정렬할려고 합니다. 테이블 구조도 약간 수정하구요..

logbackup
num int auto increase
logdate datetime
visitorcount int
cu int


아래와 같은 쿼리가 있습니다. visitorlog에서 logdate를 기준으로 정렬한 후에 logbackup으로 집어넣는 쿼리입니다.

insert into logbackup
select *
from visitorlog
order by logdate asc

이랬더니 에러가 납니다.

'logbackup' 테이블에 있는 ID 열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON일 때만 지정할 수 있습니다.

뭐가 잘못된 것입니까?

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


열명을 명시적으로 지정하면 될 것 같은데..

insert into logbackup (logdate, visitorcount, cu)
select logdate, visitorcount, cu

from visitorlog
order by logdate asc

 

근데 insert시 위처럼 order by를 주면

num 컬럼에 logdate순으로 순번이 따지나요?

직접 해보질 않아서..

궁금하네요..

sql님이 2004-07-05 09:28에 작성한 댓글입니다. Edit

추가로 말씀드리면 중간에 끼어 드는것처럼 보이는것은 실제 데이타가

하드웨어에 순차적으로 들어가지 않는다는 뜻입니다.

당연히 저장장치를 ROWID로 관리하기때문에

"테이블 밑에 들어가야 한다" 는 이론은 성립할수가 없는겁니다.

따라서 넣을때는 아무렇게나 넣는것이 당연하구요

출력하때 정렬하는게 원칙이겠죠

백승욱님이 2004-07-08 13:17에 작성한 댓글입니다.
이 댓글은 2004-07-08 13:20에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1411서버별칭으로는 연결이 안되고,tcp/ip로는 입력이 됩니다 [1]
gisfocus
2004-07-05
2573
1410visual6.0으로 odbc연동법좀 알켜주세여
이근석
2004-07-05
2299
1409ms-sql에서 특정 값이 있는 row가 몇번째 것인지 알아오는 법을 알고 싶습니다.
박세환
2004-07-05
4942
1408쿼리 질문입니다. [2]
김명섭
2004-07-03
4522
1407table 의 컬럼 속성 바꾸기 좀 알려 주세요...플리쥬.. [1]
궁금이
2004-07-03
2594
1406mfc 와 sql서버 연결시...
답답해..
2004-07-02
2490
1405[MS-SQL]정렬에 관한 질문입니다. [1]
나그넹
2004-07-02
2904
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다