이 코드 고려 행 삽입 순서에 대해 할 수 있습니다INSERT INTO SELECT BY ORDER 함께 - 가정
CREATE TABLE dbo.t2 (code varchar(100) not null primary key, nam varchar(100) not null, active DATETIME)
insert into dbo.t2 (code, nam, active) values ('YAB', 'Yabbie', '20140101')
insert into dbo.t2 (code, nam, active) values ('CAR', 'Carp', '20130101')
insert into dbo.t2 (code, nam, active) values ('ANG', 'Angel Fish', '20110101')
CREATE TABLE dbo.t1 (id INT IDENTITY PRIMARY KEY, code varchar(100) not null)
insert into dbo.t1 (code) select code from dbo.t2 order by active
select * from dbo.t1 order by id
내가 선택 문에서 볼 수있는 결과는 다음과 같습니다
첫 번째 행 : 1, ANG
을번째 행 : 2, CAR
번째 행 : 3 YAB
항상이 경우에 해당한다고 가정하는 것이 안전합니까? (이 연습에서는 사용자가 시스템의 유일한 사용자라고 가정).
나는 SELECT 부분에 ORDER BY 절이있을 때 행을 삽입하는 순서에 대해 INSERT 문이 보증을 제공하는지 알아 내려고합니다. 일반적으로 이것은 중요하지 않지만 INDENTITY 열이 관련되어있을 때는 차이를 만들 수 있습니다.
행이 삽입되는 순서가 중요한 이유는 무엇입니까? 'SELECT' 문은 어쨌든'ORDER BY'가없는 보장 된 순서를 갖지 않습니다. –
@MikeD. 그는 id에 정렬하고 삽입 순서를 나타낼 수 있기 때문입니다. – Paparazzi
@MikeD - ORDER BY가없는 SELECT에는 보장 된 주문이 없다는 점에 감사드립니다. 나는 여기서 약간 다른 것을 이야기하고있다. –