Я хочу создать серийные номера в оракуле

Я хочу создать серийный номер в 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

Выше код не работает. Я новичок в оракуле. Пожалуйста, помогите в создании выше результата.

1 ответ

Если вы хотите добавить уникальный идентификатор для каждого NID, вы можете сделать это следующим образом:

  UPDATE tablename t
       SET t.ID =
              (SELECT SEQ_ID.NEXTVAL
                 FROM tablename sub_t
                WHERE t.NID = sub_t.NID);
Другие вопросы по тегам