您如何在Oracle 11g及更高版本中自动增加列?

时间:2019-01-16 13:07:11

标签: oracle

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

1 个答案:

答案 0 :(得分:1)

没有真正简单的方法,您可以使用触发器将其自动设置,但是我担心这只会使情况变得更糟。

假设您有一张桌子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');

当然,您仍然必须修改insert语句,因此根据数量的不同,这可能是快速方法,也可能不是快速方法。