免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5259 | 回复: 12
打印 上一主题 下一主题

SQL Server 中记录的排序问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-01-10 21:09 |只看该作者 |倒序浏览
请问, 在SQL Server中,在往表中插入记录时,该行是否有类似于Oracle中rowid的值.
或者说,我如何得到一条已知记录在该表所有记录中所处的行号?
请高手指点!
谢谢!

论坛徽章:
0
2 [报告]
发表于 2002-01-10 21:50 |只看该作者
附加说明:
在表中无行号字段时,也不添加任何字段时,如何得到一条记录在表的所有记录中所处的行号?

论坛徽章:
0
3 [报告]
发表于 2002-01-11 09:25 |只看该作者
在每个 page 上面,有存贮所在本page 中 rows information 的部份空间.

论坛徽章:
0
4 [报告]
发表于 2002-01-11 11:04 |只看该作者

to snowwhite2000

请说具体点,好吗?
我想问具体如何得到那个值?
可否使用某个SQL语句获得,该语句如何写?
谢谢!

论坛徽章:
0
5 [报告]
发表于 2002-01-11 12:28 |只看该作者
select identity(int,1,1) id0,* into #temp1 from 你的表名 order by 字段;
go
select * from #temp1;

论坛徽章:
0
6 [报告]
发表于 2002-01-11 13:39 |只看该作者
看来,要想得到表中记录值的行号,只能通过在表中添加一个记录行号的字段,或是生成一临时表的方法来获得了,是吗?
如果真是这样,SQL就应该改进一下.
Oracle中就有rowid这样的值!多好啊!

谢谢炎龙骑士的回复!

论坛徽章:
0
7 [报告]
发表于 2002-01-11 15:48 |只看该作者
呵呵,没办法sql中是不存在行号这一说法的(人为加上去的字段除外)

论坛徽章:
0
8 [报告]
发表于 2002-01-11 15:57 |只看该作者
[B]
没有做不到,只有想不到!
请运行下面的SQL看看运行结果:

select (select count(1) + 1 from sysobjects t2 where t2.name > t1.name) id,name
from sysobjects t1
order by name desc;
[/B]

论坛徽章:
0
9 [报告]
发表于 2002-01-11 16:47 |只看该作者

不适用,而且在特殊情况下有错误!

比方说,你的数据库中有多个用户时,且各用户有同名的表,
如:user01.table , user02.table , user03.table
此时,会得到相同的id号,我的部分结果显示如下:
id          name                                                                                                                             
----------- --------------------------------------------------------------------------------------------------------------------------------
1           yuoujhjkj
2           ysgld
3           ypkcmxb
4           ypjxhzb
5           ypcf_yzcx
6           yfstore_init
7           yfstore
8           yfmxzb
9           yf
9           yf
9           yf
12          window_condition

你的语句只在单用户或多用户且各用户所有表不重名的情况下适用!

论坛徽章:
0
10 [报告]
发表于 2002-01-11 17:22 |只看该作者
Seapen:
说一个道理,如果两个人都拿了100分.
你说他们是并列第一呢?还是一个排1一个排2.

况且这句SQL还有改造的潜力,我只是提供一个思路而已.
具体情况还可以具体修改.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP