sql - 获取有关在 Oracle 中导致“ORA-00001 违反唯一约束”错误的源行的信息
问题描述
有什么方法可以获取导致源行/表的完整行或选定列
"ORA-00001 unique constraint violated" error.
这是一个小例子。
create table DW_DATA (
file_id number,
process_date date,
record_info varchar2(50),
constraint uk_pd_ri unique (process_date,
record_info)
);
创建后,插入第一条记录,
insert into DW_DATA
values (100,
'10-Jul-2018',
'Information about row');
犯罪;
现在,我正在插入一个新行。
insert into DW_DATA
values (200,
'10-Jul-2018',
'Information about row');
它将抛出错误“违反 ORA-00001 唯一约束”。
所以,我的问题是,是否可以使用 DBMS_ERRLOG 概念获取源行的 file_id,即 100。或者是否有任何其他方法可用于获取有关源行的信息。
解决方案
select process_date, record_info, count(*) from DW_DATA
group by process_date, record_info
having count(*) >1
您将获得重复的英国值列表。
推荐阅读
- python - 将数据库变量设置为全局变量:Python
- reactjs - 如何在 react-admin 中使用漂亮的 URL(BrowserRouter)
- rcpp - 在 Rcpp 中,可以包含在 DataFrame 或 List 中的元素数量是否有限制?
- sql - oracle中带表达式的累积和
- swift - 尝试下载图像时出错
- javascript - Sql Server Javascript 日期格式 varchar 到日期
- python - Python.exe 安装后出现的错误
- c# - C# 为什么十进制数学返回零?
- python - sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表:帖子
- math - 沿线段的 3 个点之间的最短距离