-1

我想在 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 的新手。请帮助生成上述结果。

4

1 回答 1

1

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

  UPDATE tablename t
       SET t.ID =
              (SELECT SEQ_ID.NEXTVAL
                 FROM tablename sub_t
                WHERE t.NID = sub_t.NID);
于 2017-08-02T05:19:10.847 回答