这个 *** 作的本意是什么?
我猜测你应该是主键ID设置的为自增字段,期间对数据又进行过删除 *** 作,后面想对数据进行分页查询时,想通过记录的行号来查询数据,如果是这样的话,这样的更新 *** 作作用不大,如果是其他用途的话,sql2005之后的版本对于分页查询有一个 row_number(order by 字段名XX) 的系统函数,它在查询数据时会对查询的数据结果进行计数(也就是行号),你可以写一个存储过程,便利数据表的所有数据,利用这个函数的值,把他复制给你想要保存行号的字段就可以了。
数据库里面行的顺序与数据的属性无关,这是关系数据库最基本的特色,你应该另外有字段代码行号,或者能指明相关关系,比如RID为行号,那么删除语句是:
DELETE
FROM
表
WHERE
RID
BETWEEN
100
AND
150
1打开SqlServer2008,选中 工具→选项\x0d\\x0d\2选中 文本编辑器→所有语言→常规→勾选“行号”→确定\x0d\\x0d\3\x0d\然后就可以看到行号了,很简单吧!
Oracle或SQL Server2005以上的版本
row_number排序函数
SQL2000可用,变量赋值
--> --> (Roy)生成测试数据
declare @T table([id] nvarchar(1),[num] int,[type] nvarchar(10))
Insert @T
select N'a',12,N'name' union all
select N'c',21,N'nate' union all
select N'd',25,N'adfa' union all
select N'f',25,N'ssdf' union all
select N'g',58,N'name'
declare @type nvarchar(10),@i int,@s nvarchar(200)
set @type='Name'
select @i=-1,@s=''
Select @i=@i+1,@s=@s+case when type=@type then RTRIM(@i)+' ' else '' end from @T
print @s
(5 row(s) affected)
0 4
看你的意思行号就是显示顺序号,你的查询结果可以按id升序排序(order by id),这样查询结果的顺序就是显示的顺序,这个行号可以在程序里加上,不用在数据库 *** 作。另外最好是加上一个排序值得字段,这样可以随时调整显示顺序。
以上就是关于sql如何将表中某一字段值更新为该行记录的行号全部的内容,包括:sql如何将表中某一字段值更新为该行记录的行号、oracle中删除某表中指定若干行的数据,根据行号,比如删除某表中第100行和150行之间的数据。、sql server怎么显示行号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)