【发布时间】:2019-01-16 13:07:10
【问题描述】:
我在 Oracle 12c 中开发了应用程序,其中 Id 是自动递增的,但我想在 oracle11g 中运行相同的应用程序如何做到这一点。任何自动增加 Id 列的插件
【问题讨论】:
-
如果都是 PL/SQL,您可以使用 SEQUENCE 并使用 NEXTVAL 填充字段。
-
分享给出问题的代码
标签: oracle
我在 Oracle 12c 中开发了应用程序,其中 Id 是自动递增的,但我想在 oracle11g 中运行相同的应用程序如何做到这一点。任何自动增加 Id 列的插件
【问题讨论】:
标签: oracle
没有真正简单的方法,您可以使用触发器使其自动执行,但我担心它只会让事情变得更糟。
假设你有一个表 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');
当然,您仍然需要修改您的插入语句,因此这可能是也可能不是快速方法。
【讨论】: