标题:萌新求解:在SqlServer数据库中插入表数据时,排序问题
只看楼主
i微尘
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2020-3-15
结帖率:50%
 问题点数:0 回复次数:2 
萌新求解:在SqlServer数据库中插入表数据时,排序问题
创建的表Student
create table Student(
    sid int identity(1000,1) primary key,    /* 主键,自增长从1000开始,每次递增1 */
    sname nvarchar(10) not null,
    ssex bit default 0,
    sage numeric(2) default 18
)

--插入学生表数据
insert into student(sname,ssex,sage)
  select '张三',0,19 union
  select '李四',1,20 union
  select '王五',0,22 union
  select '赵六',0,18 union
  select '魏七',1,19 union
  select '王八',0,17 union
  select '王大麻子',0,16

--/* 显示结果如下,并没有按照我插入的数据顺序进行排列;按理来说应该是1000,张三,0,19排第一位的呀 */
sid        sname      ssex    sage
1000    李四        1    20
1001    王八        0    17
1002    王大麻子    0    16
1003    王五        0    22
1004    魏七        1    19
1005    张三        0    19
1006    赵六        0    18
搜索更多相关主题的帖子: select union 数据 插入 数据库 
2020-05-23 14:15
i微尘
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2020-3-15
得分:0 
已解决 使用union组合插入数据出来的集合,会默认按照第一列排序,也就是名字的全拼排序;要想按照插入数据的顺序排序,可以逐行执行单行插入;插入顺序没有意义,在读取的时候加order by才会真正的进行排序!!!
2020-05-26 10:04
sssooosss
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:3
帖 子:664
专家分:1115
注 册:2019-8-27
得分:0 
自己研究清楚印象更深刻
2020-05-28 08:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501758-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.101646 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved