oracle怎么修改一个字段的数据并递增
发布网友
发布时间:2022-04-07 17:22
我来回答
共2个回答
热心网友
时间:2022-04-07 18:51
很简单的一句
update emp set "number"=rownum ;
commit;
number是oracle关键字,所以加了引号,你要是实际表中不叫这个名字,可以不加引号的
热心网友
时间:2022-04-07 20:09
为表写触发器。
另外创建序列,Create Sequence Start With 1 increment by 1 no cycle
Create Sequence MySequence Start With 1 Increment By 1 Nocycle Nocache;
说明:序列MySequence从1开始递增,每次加1,一直累加不循环。若把Nocache改为Cache,那么Oralce会在内存中预先放置一些Sequence以使存取速度更快。Cache取完后,Oracle会自动再取一组到Cache 。然而使用Cache可能会跳号,若遇到数据库突发异常,Cache里的Sequence会丢失。
然后创建触发器:
Create Or Replace Trigger MyTrigger Before Insert On TableName referencing old as old new as new
for each row
begin
Select MySequence.NextVal To :new.ID From DUAL;
end;
如果你只是要修改现有的数据
update emp set 字段=rownum ;
commit;
就可以了。