Sql 我想在oracle中创建序列号

Sql 我想在oracle中创建序列号,sql,oracle,database-sequence,Sql,Oracle,Database Sequence,我想在Oracle中创建一个序列号。 我试过这个问题 alter table tablename add(ID NUMBER); CREATE SEQUENCE SEQ_ID START WITH 1 INCREMENT BY 1 MAXVALUE 31611805 MINVALUE 1 NOCYCLE; UPDATE tablename SET ID= SEQ_ID.NEXTVAL 我有 NID ----- ABD90 BGJ89 HSA76 我想: ID NID --------

我想在Oracle中创建一个序列号。 我试过这个问题

alter table tablename add(ID NUMBER);

CREATE SEQUENCE SEQ_ID START WITH 1 INCREMENT BY 1 MAXVALUE 31611805 MINVALUE 1 NOCYCLE;

UPDATE tablename SET ID= SEQ_ID.NEXTVAL 
我有

NID
----- 
ABD90
BGJ89
HSA76
我想:

ID NID
---------
1  ABD90 
2  BGJ89
3  HSA76

上面的代码不起作用。我是oracle的新手。请帮助生成上述结果。

如果您想为每个NID添加唯一的ID,可以这样做-

  UPDATE tablename t
       SET t.ID =
              (SELECT SEQ_ID.NEXTVAL
                 FROM tablename sub_t
                WHERE t.NID = sub_t.NID);

什么不起作用,什么是错误?它没有显示任何错误,但也没有给出任何结果。
更新
不会返回任何结果。我的意思是说结果没有在相应的列中更新。这是完全重复的吗?在我看来,另一个问题更像是他试图使用前端来做这件事,但没有成功,这个问题是他试图直接在数据库中做这件事