如何查询Oracle中新建序列自增主键的当前最大值?
- 内容介绍
- 文章标签
- 相关推荐
本文共计190个文字,预计阅读时间需要1分钟。
由于Oracle设计中无法直接设置自增主键,因此只能通过创建序列来实现。以下是创建序列和查询下一序列值的示例代码:
sql-- 创建序列CREATE SEQUENCE SEQ_DP_CUST_COUPON INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 START WITH 2 CACHE 20;
-- 查询下一序列值SELECT SEQ_DP_CUST_COUPON.NEXTVAL FROM DUAL;
因为oracle设计表的时候不像mysql可以设置自增主键,所以只能通过建序列方式。
建序列
create sequence SEQ_DP_CUST_COUPON increment by 1 minvalue 1 maxvalue 9999999999999999999999999999 start with 2 cache 20;
查询下一个序列值
select seq_coupons_tx_2_id.nextval from dual;
想要在程序里插入一条数据(SEQ_DP_CUST_COUPON是序列名字,nextval代表下一个值)
insert into dp_cust_coupon (COUPON_ID,CUST_NO,COUPON_PSD) values (SEQ_DP_CUST_COUPON.nextval,:custNo,:couponPsd)
唤醒存储过程
try {String callElseProcedure = "{call coupon_batch_import()}"; oracleZsNpJdbcTemplate.getJdbcOperations().execute(callElseProcedure);} catch(Exception e) { e.printStackTrace(); }
本文共计190个文字,预计阅读时间需要1分钟。
由于Oracle设计中无法直接设置自增主键,因此只能通过创建序列来实现。以下是创建序列和查询下一序列值的示例代码:
sql-- 创建序列CREATE SEQUENCE SEQ_DP_CUST_COUPON INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 START WITH 2 CACHE 20;
-- 查询下一序列值SELECT SEQ_DP_CUST_COUPON.NEXTVAL FROM DUAL;
因为oracle设计表的时候不像mysql可以设置自增主键,所以只能通过建序列方式。
建序列
create sequence SEQ_DP_CUST_COUPON increment by 1 minvalue 1 maxvalue 9999999999999999999999999999 start with 2 cache 20;
查询下一个序列值
select seq_coupons_tx_2_id.nextval from dual;
想要在程序里插入一条数据(SEQ_DP_CUST_COUPON是序列名字,nextval代表下一个值)
insert into dp_cust_coupon (COUPON_ID,CUST_NO,COUPON_PSD) values (SEQ_DP_CUST_COUPON.nextval,:custNo,:couponPsd)
唤醒存储过程
try {String callElseProcedure = "{call coupon_batch_import()}"; oracleZsNpJdbcTemplate.getJdbcOperations().execute(callElseProcedure);} catch(Exception e) { e.printStackTrace(); }

