中易网

oracle 怎样使UPDATE 更新序列??

答案:3  悬赏:10  
解决时间 2021-02-17 12:12
比方说一个表 A id是一个自动生成的序列
id 时间
41 2012-01-01
55 2012-01-02
57 2012-01-03
怎么样用update来更新表A的序列id中的数从1开始 即
id 时间
1 2012-01-01
2 2012-01-02
3 2012-01-03
请大侠们帮忙!!!
最佳答案
可以使用update select 语法进行更新
喜欢研究的可以自行学习下,以便积累
不想浪费时间可以看下面:
UPDATE A SET ID = (SELECT ROWNUM FROM A ORDER BY 时间 DESC)

参考语法:
UPDATe A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERe A.ID = B.ID)
WHERe ID IN (SELECt B.ID FROM B WHERe A.ID = B.ID)
全部回答
楼上所说,把表中当前记录的id按照顺利进行了重置。但新插入记录时,id就不连续了,所以分三步: 1、重置表中id:update 表A set id = rownum 2、获取当前最大id:select max(id) from 表名; 3、重置序列值:alter sequence 序列名称 increment by 表中的最大id值
update 表a a set id = ( select rn from ( select 时间,row_number() over(order by 时间) from 表a)b where a.时间 = b.时间);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
20A48v旧电动车可以卖多少钱
数学问题(共8道30分我还会加分的)注明都是
卧室风水 ,床尾可以直接顶住挂衣柜门摆放吗
天珠3 秘籍
爱上一个已婚男人 他曾经也做出过对我有好感
我更换平台,需要注意什么,AMD换成因特尔的
轻松调频FM91.5里music memory 岁月留声里的
谁若游戏人生他就一世无成谁不能主宰自己永远
问道 60级跑环需要组队吗 一个人可以吗 需要
有没有靠谱点的能下分的捕鱼游戏可以退钱的
历史上对孝庄的评价
家具行业毛利率一般多少才算正常呢
广东现在有动态BGP线路吗?
气候变暖的现象
轿跑suv与suv哪个好
推荐资讯
岳塘区湘潭苗方清颜专业祛痘地址在哪里啊
恩施顺博货运代理公司招船员靠谱吗
英文run有多少种意思?
鱼喜欢在什么位置呆着?
3ds max 渲染看不见模型
任重老婆个人资料
利用定积分的性质,估计下列积分值∫
日本人为什么没有叛徒
魔兽争霸冰封王座人机对战中各种族怎么编队?
房子裂缝赔偿案例
龙腾世纪起源为什么会没字
做了一次彩光嫩肤脸上发红会好吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?