不可以的,oracle不支持自动增长列
Oracle 没有
DB2 那种 generated always as identity,
或者
SQL Server 那种 identity
或者
MySQL 那种 AUTO_INCREMENT
好像目前只有 sequence + 触发器来实现。 将来有没有,就不确定了。
就像 SQL Server 以前没有 sequence , 只能 identity 的。
后来到了 SQL Server 2012, 也支持 sequence 了。
1.建立表格: CREATE TABLE Table1 ( CID NUMBER(8) NOT NULL, Others VARCHAR2(20) ); 2.建立从1开始的序列: CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 NOCACHE -- 不建缓冲区 3.建立触发器: CREATE OR REPLACE TRIGGER myTGR BEFORE INSERT ON Table1 FOR EACH ROW BEGIN SELECT myTGR.NextVAl INTO :new.CID FROM dual; END;
我的文库里有,点下面连接看。
http://wenku.baidu.com/view/668b480ccc17552707220878.html
用序列可以实现