能否强制使得INSERT的内容严格按照SELECT的次序插入(高手请进!在线等待!)

wkexuan 2003-11-14 10:39:06
insert into table(Remark,Description,Code,L4435,CTO,L42001,L42002,L42003,L42004,L42006,L4204,L42011,L42012,L42013,L42015,L42016,L42017,L42018,L42019,L42099,L4240,L4241,OTH,L43001,HGD,Assigned,Shared,Total,iYear,iMonth,iUnit)

select F145,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F126,F127,F128,F129,F130,F131,F132,F133,F134,F135,F136,F137,F138,F139,F140,F141,F142,F143,F144
from Table_Temp
order by F145
...全文
42 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
victorycyz 2003-11-14
  • 打赏
  • 举报
回复
insert的次序不重要,只要目标表建了适当的索引就行。
sdhdy 2003-11-14
  • 打赏
  • 举报
回复
不知道你的上述字段里,有没有聚焦索引,如果有的话,就可以
pengdali 2003-11-14
  • 打赏
  • 举报
回复
insert into [table](Remark,Description,Code,L4435,CTO,L42001,L42002,L42003,L42004,L42006,L4204,L42011,L42012,L42013,L42015,L42016,L42017,L42018,L42019,L42099,L4240,L4241,OTH,L43001,HGD,Assigned,Shared,Total,iYear,iMonth,iUnit)
select * from (
select top 1000000000 F145,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F126,F127,F128,F129,F130,F131,F132,F133,F134,F135,F136,F137,F138,F139,F140,F141,F142,F143,F144
from Table_Temp
order by F145) a
zjcxc 元老 2003-11-14
  • 打赏
  • 举报
回复
如果你的表中没有创建聚集索引,插入的次序就是按照selct的顺序的.

如果你的表中创建的聚集索引,除非你删除了聚集索引,否则,插入记录的存储顺序始终是按照聚集索引的顺序.
nchln 2003-11-14
  • 打赏
  • 举报
回复
用了order by就可以了。除非你不是仅仅按照F145排序,如果这样,在order by后面继续加上就行。

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧