为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm8
【操作系统】:
【CPU】:
【问题描述】*:水平分区表不支持自增列
https://eco.dameng.com/document/dm/zh-cn/pm/definition-statement.html#3.5.1.4%20%E5%AE%9A%E4%B9%89%E6%B0%B4%E5%B9%B3%E5%88%86%E5%8C%BA%E8%A1%A8
水平分区表不支持自增列 .
如需要处理一个列里插入全分区表唯一的值 ,可以考虑使用序列.
1)创建序列:
https://eco.dameng.com/document/dm/zh-cn/pm/definition-statement
CREATE SEQUENCE 【模式名】.序列名 INCREMENT BY 1 START WITH 自增初始值 NOCYCLE
2.创建insert相关触发器
CREATE OR REPLACE TRIGGER 触发器名
BEFORE INSERT ON 【模式名】.表名
FOR EACH ROW
BEGIN
:NEW.ID:=序列名.NEXTVAL;
3.执行Insert into插入后ID就由触发器填充了
4.测试发现mybatis使用dm8最新版本驱动,useGeneratedKeys=true也可以获取到主键ID的值,如果不行的话只能在insert xml中写selectkey的语句,select 序列名. CURRVAL
建设使用 序列实现