在 sql 中使用 ALTER 添加 AUTO_INCREMENT

Adding AUTO_INCREMENT using ALTER in sql

我一直在尝试在创建的 table 上添加 AUTO_INCREMENT,但是 ALTER table 查询不起作用

我的Table:

查询和错误:

还有

ALTER TABLE professor ADD sno INT IDENTITY;

不工作

你能试试吗:

alter table professor add sno integer generated by default on null as identity;

编辑:抱歉,OP 要求 11g,因为上面的代码在 12 之后有效。

那你就需要用到sequence了。请看下面:

ALTER TABLE professor ADD sno INT;
CREATE SEQUENCE dept_seq START WITH 1;

并且您需要为序列设置触发器,例如:

CREATE OR REPLACE TRIGGER dept_bir 
BEFORE INSERT ON departments 
FOR EACH ROW

BEGIN
  SELECT dept_seq.NEXTVAL
  INTO   :new.id
  FROM   dual;
END;

参考:How to create id with AUTO_INCREMENT on Oracle?