+ -
当前位置:首页 → 问答吧 → 求助:update如何更新前面数条记录?

求助:update如何更新前面数条记录?

时间:2005-04-25

来源:互联网

   假如共有20条记录,但我只更新前面10条记录,如何写这update语句?条件是只更新前面1-10条记录。

作者: songls   发布时间: 2005-04-25

用游标吧。一条语句应该实现不了。

作者: faceDragon   发布时间: 2005-04-25

db2 (@DB2, KEVIN   @TEST)SELECT * FROM TEST

COL1       COL2       COL3
---------- ---------- ----------
ABC        001        TEST
ABC        002        TEST
ABC        003        SAFD
XYZ        001        TEST
XYZ        002        SAFD
XYZ        003        SAFD

  6 条记录已选择。

db2 (@DB2, KEVIN   @TEST)UPDATE (SELECT * FROM TEST ORDER BY COL2 FETCH FIRST 3 ROWS ONLY) SET COL3
= 'HelloWorld'
DB20000I  SQL 命令成功完成。
db2 (@DB2, KEVIN   @TEST)SELECT * FROM TEST

COL1       COL2       COL3
---------- ---------- ----------
ABC        001        HelloWorld
ABC        002        HelloWorld
ABC        003        SAFD
XYZ        001        HelloWorld
XYZ        002        SAFD
XYZ        003        SAFD

  6 条记录已选择。

db2 (@DB2, KEVIN   @TEST)commit
DB20000I  SQL 命令成功完成。
db2 (@DB2, KEVIN   @TEST)

作者: cyberflying   发布时间: 2005-04-25

领教!

作者: sheepxp   发布时间: 2005-04-25

呵呵,利害了

作者: faceDragon   发布时间: 2005-04-26

佩服!

作者: sheisqueen   发布时间: 2005-04-26

学习!

作者: lklgdkp   发布时间: 2005-04-28

select *
from (select ROW_NUMBER() over(order by FIELDNAME) as row, a.*
         from TABLENAME a) as temp
where row>;=50 and row<=60

作者: toms1981   发布时间: 2005-04-30



QUOTE:
原帖由 "toms1981" 发表:
select *
from (select ROW_NUMBER() over(order by FIELDNAME) as row, a.*
        from TABLENAME a) as temp
where row>;=50 and row<=60



这个不错,可以修改中间的数据!

作者: mymm   发布时间: 2005-04-30

update (select * from (select row_number() over(order by manager) as row,a.* from org a ) as temp) set manager=666 where row>;=3 and row<=6

作者: unix_boy   发布时间: 2005-04-30

热门下载

更多