使用java向oracle数据库中添加记录时,有一个id字段是自动增长的,该怎么向数据库中

 我来答
匿名用户
推荐于2018-03-13
展开全部

Oracle  使用  序列号 + 触发器   实现自增的例子如下:


-- 这个是测试的序列号
SQL> CREATE SEQUENCE test_sequence2
  2    increment by 1    -- 每次递增1
  3    start with 1       -- 从1开始
  4    nomaxvalue      -- 没有最大值
  5    minvalue 1       -- 最小值=1
  6    NOCYCLE;      -- 不循环

Sequence created.

-- 这个是测试的表
SQL> CREATE TABLE test_create_tab2 (
  2    id   INT,
  3    val  VARCHAR(10),
  4    PRIMARY KEY (id)
  5  );

Table created.


-- 这个是测试的触发器
SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert
  2    BEFORE INSERT ON test_create_tab2
  3  FOR EACH ROW
  4  BEGIN
  5    SELECT test_sequence2.nextval INTO :new.id  FROM dual;
  6  END;
  7  /

Trigger created.


-- 下面是测试插入的处理

SQL> INSERT INTO test_create_tab2(val) VALUES ('NO id');

1 row created.

SQL> INSERT INTO test_create_tab2(id, val) VALUES (1, 'id no use');

1 row created.

SQL> SELECT * FROM test_create_tab2;

        ID VAL
---------- --------------------
         1 NO id
         2 id no use
匿名用户
2013-09-10
展开全部
id自动增长,程序里直接赋值成null即可
更多追问追答
追问
但是怎么触发过程让他自动增长呢
追答
你用的什么方式?纯jdbc还是其他??
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
望月飞鱼
2013-09-10
知道答主
回答量:21
采纳率:0%
帮助的人:11万
展开全部
创建一个sequence
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奋斗的时节101
2013-09-10 · 超过10用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:29.2万
展开全部
可以在数据库中建序列squence作为id
追问
我知道这样的方法,我是说在添加记录的时候,怎样调用squence序列,自动增长
追答
insert into 表 (id,name) values(squence+1,"") 就这个意思吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式