大侠帮忙看一下,为什么用nextval会有重复值?

KarlyLi 2007-09-13 11:17:33
我在使用seq_t_user_info_id.nextval时,为什么会出现重复值呀?

其中我创建seq_t_user_info_id的SQL 代码为:

create sequence seq_t_user_info_id
minvalue 1
maxvalue 99999999999999999
start with 1
increment by 1
cache 20
order;

但在执行下面的SQL时,报违反约束,其中我的User_id为主键,不能重复。

insert INTO t_user_info(user_id,login_name)
SELECT
seq_t_user_info_id.nextval,substr(t.gsbm,1,2)||lpadseq_t_user_info_id.nextval,6,'0')
FROM at_t_user_info t


我这个语句有错吗?请大家帮忙看一下,谢谢了!!
...全文
1567 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Croatia 2007-09-18
  • 打赏
  • 举报
回复
先把t_user_info表里面的数据,备份出去,再执行一次看看呢?
Croatia 2007-09-18
  • 打赏
  • 举报
回复
christophe,
你这样的做法,a_var永远都是一个值,不错才怪。
christophe 2007-09-15
  • 打赏
  • 举报
回复
1. 定义sequence为nocycle (不循环使用).
2. 下面的coding更清晰一点.

select seq_t_user_info_id.nextval into a_var from dual;

SELECT
a_var,substr(t.gsbm,1,2)||lpad(a_var,6,'0')
FROM at_t_user_info t
GEMPMGR 2007-09-14
  • 打赏
  • 举报
回复
把 t_user_info 的表结构贴出来看看
love4myxsg 2007-09-14
  • 打赏
  • 举报
回复
先用max函数找一下最大值,再看看序列的当前值,如果,呵呵。。。
xiaoxiao1984 2007-09-13
  • 打赏
  • 举报
回复
SELECT
seq_t_user_info_id.nextval,substr(t.gsbm,1,2)||lpad(seq_t_user_info_id.nextval,6,'0')
FROM at_t_user_info t

查询看看,正常情况下是seq.nextval是不会出现重复的,是不是原来表中存在手动插入或者手动修改的userid, 而这个useid正好和当前插入的重复
KarlyLi 2007-09-13
  • 打赏
  • 举报
回复
Croatia(Croatia) ( ) 信誉:95 2007-09-13 11:44:52 得分: 0


SELECT
seq_t_user_info_id.nextval,substr(t.gsbm,1,2)||lpadseq_t_user_info_id.nextval,6,'0')
FROM at_t_user_info t

这个纪录,选出了很多条记录吧。

为什么呢?

我是想将at_t_user_info 临时表中的数据转到正式表t_user_info中呀!!

KarlyLi 2007-09-13
  • 打赏
  • 举报
回复
不好意思,刚才在编辑格式的时候丢了一个括号!!

Croatia 2007-09-13
  • 打赏
  • 举报
回复
SELECT
seq_t_user_info_id.nextval,substr(t.gsbm,1,2)||lpadseq_t_user_info_id.nextval,6,'0')
FROM at_t_user_info t

这个纪录,选出了很多条记录吧。
Croatia 2007-09-13
  • 打赏
  • 举报
回复
t_user_info德彪的结构是什么?主键是什么?
Croatia 2007-09-13
  • 打赏
  • 举报
回复
先不管Sequence,你的句子,就少了一个左括号。
Lpad`后面。
wffffc 2007-09-13
  • 打赏
  • 举报
回复
lpadseq_t_user_info_id.nextval,6,'0')这是什么?肯定错了
KarlyLi 2007-09-13
  • 打赏
  • 举报
回复
备注一下

其中GSBM是有值的,就是公司编码

GSBM会有重复值出现的。
内容概要:本报告基于寻汇与万事达卡在2026年联合发布的《超越自动化:定义智能体驱动的全球支付》白皮书,系统分析了AI智能体在B2B跨境支付领域的应用与发展。报告指出,传统跨境支付存在效率低、人工干预多、合规风险高等问题,当前正从数字化、数据化迈向“自主化”新阶段。AI智能体可在授权下自主完成支付、换汇、合规审核、对账等全流程操作,核心技术包括深度强化学习、自然语言处理和图神经网络,用于路径优化、合规解析与异常检测。报告揭示了决策可解释性不足、跨系统协同标准缺失、安全审计机制缺位三大研究空白,并探讨了法律责任归属、监管碎片化、数据主权与技术可靠性四大现实挑战。寻汇与万事达卡的合作构建了“智能体编排引擎”与全球合规决策网络,首次提出L0-L5的智能体自主化等级框架,推动行业标准化。预计2026至2027年将实现首批大规模商业部署,提升支付效率超30%。; 适合人群:金融科技研究人员、AI技术开发者、跨境支付行业从业者、企业财资管理人员及政策监管机构相关人员。; 使用场景及目标:①理解AI智能体在跨境支付中的技术架构与应用场景;②把握自主化支付的演进趋势与商业化前景;③为金融机构和技术公司布局AI驱动型支付系统提供战略参考;④助力监管机构制定适应智能体时代的合规框架。; 阅读建议:本报告兼具技术深度与产业视野,建议结合白皮书原文及相关技术文献对照研读,重点关注智能体决策逻辑、合规实现机制与跨系统集成方案,并关注后续试点项目的实际成效与监管反馈。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧