gpt4 book ai didi

c++ - Oracle Pro*C for insert with a sub select query causing ORA-01403 : no data found

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:49 42 4
gpt4 key购买 nike

我正在为 Oracle DB 使用带有嵌入式 Pro*C(版本:11.2.0.3.0)的 C++ 代码。我正在运行一个批量插入子句,如下所示:

insert int TBL1 (col1, col2) 
select a.col1, b.col2 from TBL2 a, TBL3 b
where a.col1 = :v and a.col2 = b.col2

我运行此查询以获取一组要插入的记录,并为 :v 绑定(bind)值。

然而,虽然可以插入一些记录,但有些记录失败了

ORA-01403: no data found

我从 sqlca.sqlerrd[2] 中看到,可以插入的行数。所以,我知道可以插入 N 条记录中的 M 条。现在,我想知道哪些记录失败了,所以我需要一条线索,列出可能导致此失败的所有 a.col1 值。有什么办法吗?任何线索或方向都会非常有帮助。

最佳答案

评论有点长。

您引用的错误是 PL/SQL 错误,已记录 here .这不是 insert 通常会产生的错误。

我的一个猜测是该表有一个插入触发器,而这个触发器导致了问题。

也有可能是您的代码位于较大的 block 中,而 block 中的其他内容导致了错误。

关于c++ - Oracle Pro*C for insert with a sub select query causing ORA-01403 : no data found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941604/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com