Cobol:[INSERT CODE]
EVALUATE SQLCODE
WHEN +000
...
WHEN -803
...
WHEN OTHER
...
END-EVALUATE.
此代码评估SQLCODE,重复条目在此处由-803处理。 A -803错误是一个被插入或更新的值是无效的,因为索引空间中的索引索引空间名称约束表的列,因此,没有两行可以包含这些列中的重复值。现有行的RID是X记录ID。
换句话说,重复键错误。
在java中,我通常通过触发select查询并查找条目存在于数据库中来执行相同操作,如果它不存在,则插入记录。
还有其他方法可以处理Java中的-803情况吗?
答案 0 :(得分:4)
在Java中,您希望捕获SQLException
并测试错误代码:
PreparedStatement stmt = ...;
try
{
stmt.executeUpdate();
}
catch (SQLException e) {
if (e.getErrorCode() == -803)
{
// handle duplicate entry
}
else
{
// handle other errors
}
}
请注意,此代码是DB2特定的,因为-803是特定于供应商的错误代码。