面试题:
update table set tname=10 where id=2其中,id=2有10行数据,执行update会把10条记录的tname都修改为10,
现在想把10行记录中id=2的tname字段修改为1,2,3,4,5,6,7,8,9,10
用update语句修改?
在线等高人指教,谢谢!
update table set tname=10 where id=2其中,id=2有10行数据,执行update会把10条记录的tname都修改为10,
现在想把10行记录中id=2的tname字段修改为1,2,3,4,5,6,7,8,9,10
用update语句修改?
在线等高人指教,谢谢!
update table set tname=seq.nextval where id=2;
update(
select t.*
from t where id=2)
set tname=rownum
update tt a set tname=(select rn from
(select rowid rd,
row_number()over(partition by id order by rownum)rn
from tt)
where rd=a.rowid)
where id=2条件里id=2可以随便更换成id in(1,2,3,4)等等,也可以去掉
写个过程用游标实现也可以,不过麻烦
START WITH 1
INCREMENT BY 1;
update table set t_name=id_sequence.NEXTVAL where id=2;