我在SQL Server 2014中使用了insert into命令,但没有按照相同的数据顺序插入。
它显示的行数相同,但数据顺序与您在下图中看到的数据顺序不同。
insert命令是:
insert into [test].[dbo].[HöjdKortvågVänster] ([Höjd kortvåg vänster (null)]) select [Höjd kortvåg vänster (null)] from [test].[dbo].[test111]
图1:选择源表的命令
图2:选择目标表的命令
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
除非您有order by
,否则SQL结果集是无序的。 SQL表是无序的。
但是,SQL Server确实提供了至少一种方法来执行您想要的操作。如果您在order by
列和的表格中使用identity
select
有order by
,则身份会相应增加。< / p>
所以,做你想做的事情的一种方法是在[HöjdKortvågVänster]
:
id int not null identity(1, 1) primary key
insert into [test].[dbo].[HöjdKortvågVänster]([Höjd kortvåg vänster (null)])
select [Höjd kortvåg vänster (null)]
from [test].[dbo].[test111]
order by <appropriate column here>;
然后当您查询表格时,请记住order by
:
select *
from [test].[dbo].[HöjdKortvågVänster]
order by id;