Sql server SQL Server-在将我的临时表数据插入主表时,它会更改顺序
在将我的临时表数据插入主表时,它会改变顺序。但如果选择相同的数据,它会以正确的顺序显示。 注意:我为临时表提供了标识列,并在使用带有标识的order by列插入主表时提供了标识列 你能给我一些建议吗。 请找到下面的例子Sql server SQL Server-在将我的临时表数据插入主表时,它会更改顺序,sql-server,Sql Server,在将我的临时表数据插入主表时,它会改变顺序。但如果选择相同的数据,它会以正确的顺序显示。 注意:我为临时表提供了标识列,并在使用带有标识的order by列插入主表时提供了标识列 你能给我一些建议吗。 请找到下面的例子 DECLARE @TempTable as Table(LevelID int identity(1,1) primary key,Header_ID int,typeid int,type varchar(100),name varchar(max),labelvalue v
DECLARE @TempTable as Table(LevelID int identity(1,1) primary key,Header_ID int,typeid int,type varchar(100),name varchar(max),labelvalue varchar(max),
CreatedOn_DT datetime,CreatedBy_ID int,UpdatedOn_DT DATETIME,UpdatedBy_ID int)
Insert Into @TempTable (Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID)
EXECUTE sp_Result_one @id1,@id2,@id3
Go
Insert Into @TempTable (Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID)
EXECUTE sp_Result_Two @id1,@id2,@id3
Go
Insert Into @TempTable (Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID)
EXECUTE sp_Result_Three @id1,@id2,@id3
Go
Insert Into @TempTable (Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID)
EXECUTE sp_Result_Four @id1,@id2,@id3
GO
Insert into ResultTable(Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID)
select Header_ID,typeid,type,labelvalue,name,CreatedDT,CreatedBID,UpdatedDT,UpdatedByID from @TempTable order by LevelID asc
我有一个TENTRABLE,运行四个存储过程将数据填充到其中,最后将数据从TENTRABLE插入maintable。但它将数据插入到不相关的顺序中。从表中选择时,唯一保证的时间顺序是使用
order BY
时。插入命令是(大多数)无关的。嘿,史仁达,你能举一个简短的例子来说明你所指的内容,以及你认为是什么问题。一般来说,只有当你使用orderby
时,你才能保证获得订单。嘿,尼尔斯,我用一个例子通过查询进行了更新,我同意尼克所说的。唯一一次,orderby
重要的是确保目标表上标识列的顺序(在您的情况下,这将是可结果的)。但是这些标识值将不同于表变量中的标识值。另外值得注意的是,您提供的示例由于几个原因无法运行。如果这些评论不能充分回答您的问题,那么可以提供一个可以完全执行的示例来说明问题和期望。请参阅: