如何在 Oracle 11g 及更早版本中自动递增列

  • 本文关键字:版本 Oracle 11g oracle
  • 更新时间 :
  • 英文 :


我在Oracle 12c中开发了应用程序,那里的ID是自动递增的,但我想在oracle11g中运行相同的应用程序如何做到这一点。 任何自动递增 Id 列的插件

没有真正简单的方法,您可能可以使用触发器使其自动运行,但我担心它只会使事情变得更糟。

假设您有一个表 TEST

CREATE TABLE TEST (
    ID_TEST NUMBER,
    VAL_TEST VARCHAR2(10)
);

如果要自动设置ID_TEST可以:

CREATE SEQUENCE SEQ_TEST_ID START WITH 1 NOCACHE; -- to have single increments

然后更改插入项,添加ID_TEST列。

INSERT INTO TEST (ID_TEST, VAL_TEST) values (SEQ_TEST_ID.NEXTVAL, 'foo');
INSERT INTO TEST (ID_TEST, VAL_TEST) values (SEQ_TEST_ID.NEXTVAL, 'foo');

当然,您仍然需要修改插入语句,因此根据这些语句的数量,这可能是也可能不是一种快速方法。

最新更新