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

比如这表姓名地址联系电话张三aa123XXXXXXX陈xbds4564现在要修改第二行的姓名,怎样修改?... 比如这表
姓名 地址 联系电话
张三 aa 123
XX XX XXX
陈x bds 4564

现在要修改第二行的姓名,怎样修改?
展开
 我来答
guoweifyj
推荐于2018-03-28 · TA获得超过346个赞
知道小有建树答主
回答量:158
采纳率:100%
帮助的人:168万
展开全部
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
百度网友7693d9fd
2012-03-02 · TA获得超过292个赞
知道小有建树答主
回答量:801
采纳率:0%
帮助的人:234万
展开全部
update tabe_1 set 姓嫌岩名='aaa'芹逗御 where select *,ROW_NUMBER()over(order by 姓指耐名) nb=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式