SQL server 2008中 怎样用update 修改指定行号列号的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server 2008中 怎样用update 修改指定行号列号的数据?相关的知识,希望对你有一定的参考价值。
比如这表
姓名 地址 联系电话
张三 aa 123
XX XX XXX
陈x bds 4564
现在要修改第二行的姓名,怎样修改?
--演示环境
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 修改指定行号列号的数据?的主要内容,如果未能解决你的问题,请参考以下文章