sql - 如何为现有表添加自动增量字段并用行的序列号填充它?

标签 sql oracle

例如我有一张 table :

create table test (testdata varchar2(255));

那么我需要一个自动增量字段:
alter table test add id numeric(10);

create sequence test_seq 
start with 1 
increment by 1 
nomaxvalue; 

create trigger test_trigger
before insert on test
for each row
begin
select test_seq.nextval into :new.id from dual;
end;

接下来我应该怎么做才能用“id”中的序列号填充已经存在的字段?

最佳答案

update test
set id = test_seq.nextval

关于sql - 如何为现有表添加自动增量字段并用行的序列号填充它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3599740/

相关文章:

sql - 在 sql 中使用函数或直接列名

database - 如何在 Oracle SQL Plus 中排列或格式化表结果

sql - Oracle 选择更新行为

.net - 使用计算机名而不是用户名的 SQL 集成安全性

sql - 生成 SQL 以更新主键

sql - 使用SQL检查彩票中奖票

sql - INTERSECT 和 INNER JOIN 之间有根本区别吗?

oracle - 如何找到导致ora-06575的错误?

sql - Oracle将时间戳列分类为15分钟桶

sql - 如何使用 Oracle SQL 向 rank() 添加移动窗口