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)
);
Run Code Online (Sandbox Code Playgroud)
你需要创建一个序列 -
CREATE SEQUENCE S_MYTABLE
START WITH 1
INCREMENT BY 1
CACHE 10;
Run Code Online (Sandbox Code Playgroud)
和触发器 -
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;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
118516 次 |
最近记录: |