在 Oracle 中向现有列添加自动增量
在 Oracle 中,向已存在的现有列添加自动增量功能表的主键,根据您的Oracle版本可以采用不同的方法使用。
对于 Oracle 11g 及之前版本
CREATE SEQUENCE t_seq START WITH 150111111 INCREMENT BY 1; CREATE OR REPLACE TRIGGER t_trg BEFORE INSERT ON t FOR EACH ROW WHEN (new.id IS NULL) BEGIN SELECT t_seq.NEXTVAL INTO :new.id FROM dual; END;
对于 Oracle 12c 和稍后
CREATE TABLE t ( ID NUMBER GENERATED ALWAYS AS IDENTITY START WITH 150111111 INCREMENT BY 1, text VARCHAR2(50) );
插入数据
一旦自动递增功能已配置,您可以将数据插入表中通常。
示例
假设有一个名为 t 的表,其中包含名为 ID 的列作为主键,并且您希望将其配置为从 150111111 开始自动递增。
在Oracle中使用序列方法11g:
INSERT INTO t(text) VALUES('auto-increment test 1');
在 Oracle 12c 中使用 Identity 列方法:
INSERT INTO t(text) VALUES('This table has an identity column');
注意:
以上是如何在Oracle中为现有主键列添加自动增量?的详细内容。更多信息请关注PHP中文网其他相关文章!