Fen*_*ono 38 database oracle oracle-sqldeveloper
如何将列设置为使用Oracle SQL Developer自动递增?为什么表单被禁用?

注意:图像显示了Data Modeler,但问题和最佳答案是关于编辑现有数据库.
Dan*_*ník 80
如果要使PK自动递增,则需要为该主键设置ID列属性.
请参阅下面的图片以便更好地理解.

//我的来源是:http://techatplay.wordpress.com/2013/11/22/oracle-sql-developer-create-auto-incrementing-primary-key/
Ksh*_*tij 26
不幸的是,oracle不支持像mysql那样的auto_increment.你需要付出额外的努力来实现这一目标.
说这是你的桌子 -
CREATE TABLE MYTABLE (
  ID NUMBER NOT NULL,
  NAME VARCHAR2(100)
  CONSTRAINT "PK1" PRIMARY KEY (ID)
);
你需要创建一个序列 -
CREATE SEQUENCE S_MYTABLE
START WITH 1
INCREMENT BY 1
CACHE 10;
和触发器 -
CREATE OR REPLACE TRIGGER T_MYTABLE_ID
BEFORE INSERT
ON MYTABLE
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
  if(:new.ID is null) then
  SELECT S_MYTABLE.nextval
  INTO :new.ID
  FROM dual;
  end if;
END;
/
ALTER TRIGGER "T_MYTABLE_ID" ENABLE;
| 归档时间: | 
 | 
| 查看次数: | 118516 次 | 
| 最近记录: |