SQL server 2008中 怎样用update 修改指定行号列号的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server 2008中 怎样用update 修改指定行号列号的数据?相关的知识,希望对你有一定的参考价值。

比如这表
姓名 地址 联系电话
张三 aa 123
XX XX XXX
陈x bds 4564

现在要修改第二行的姓名,怎样修改?

SQL SERVER不像ORACLE有默认的行号可以操作,你要修改第二行,必须要先返回记录的行号.如下:
--演示环境
create table test(
姓名 varchar(10),
地址 varchar(10),联系电话 varchar(11))
--
insert into test
select '张三','aa','123' union all
select 'XX','XX','XXX' union all
select '陈x','bds','4564'
--得到行号,然后先修改哪条指定哪条
select *,ROW_NUMBER()over(order by 姓名) nb
from test
/*结果:
姓名 地址 联系电话 nb
---------- ---------- ----------- --------------------
XX XX XXX 1
陈x bds 4564 2
张三 aa 123 3

(3 行受影响)*/

--修改
UPDATE TB SET 姓名='修改的'
FROM (
select *,ROW_NUMBER()over(order by 姓名) nb
from test)TB
WHERE nb=1 --修改第一行

--查询
SELECT *
FROM test
/*修改后结果:
姓名 地址 联系电话
---------- ---------- -----------
张三 aa 123
修改的 XX XXX
陈x bds 4564

(3 行受影响)
*/
--删除演示环境
DROP TABLE TEST
参考技术A update tabe_1 set 姓名='aaa' where select *,ROW_NUMBER()over(order by 姓名) nb=1

SQL Server 2008 update语句只能更新1行数据?

SQL Server 2008 update语句只能更新1行数据?非得1次履行?分两次履行不得了?

参考技术A 那用两个update语句不行吗?你的语句里TSpeed的确出现了两次,要不可以研究下case……when语法(oracle里有)
查看原帖>>
采纳哦
参考技术B 那用两个update语句不行吗?你的语句里tspeed的确出现了两次,要不可以研究下case……when语法(oracle里有)

以上是关于SQL server 2008中 怎样用update 修改指定行号列号的数据?的主要内容,如果未能解决你的问题,请参考以下文章

SQL server 2008 权限

SQL Server2008中,生日字段为datetime类型,只获取月日,然后根据输入的天数判断好久生日,怎样实现?

sql server 2012怎样样才能完全卸载并重新安装

sql server 2008 请教怎样生成序列号

怎样读sql server 2008 事务日志

sqlserver2008 啥是唯一键? 怎样设置唯一键