为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:linux
【CPU】:
【问题描述】*:之前用的oracle数据库,用这个更新语句并发的时候返回值也没有重复的,现在发现返回值有重复的,达梦是有别的写法吗,怎么实现更新返回值的唯一。oracle语句如下
update tscodegenerator
set code ve=code ve+1
where taskobjpn ve=i_name returning code ve into codeld;
如果code_ve是自增有序的,加之where 匹配行 修改code_ve 自增1,是有可能重复已有的值
建议使用序列回去递增唯一值,
-- 创建序列
CREATE SEQUENCE code_ve START WITH 1000;
-- 插入数据
INSERT INTO orders VALUES (code_ve.NEXTVAL, '笔记本电脑');
INSERT INTO orders VALUES (code_ve.NEXTVAL, '智能手机');