Cobol:[插入代码]
EVALUATE SQLCODE
WHEN +000
...
WHEN -803
...
WHEN OTHER
...
END-EVALUATE.
此代码评估SQLCODE,此处-803处理重复项。 -803错误是插入或更新的值无效,因为INDEX SPACE索引空间名称中的索引限制了表的列,因此没有两个行可以包含这些列中的重复值。现有行的RID是X记录ID。
换句话说,重复键错误。
在java中,我通常通过触发选择查询来执行相同的操作,并在数据库中查找条目的存在,如果不存在,则插入记录。
在Java中还有其他方法可以处理-803情况吗?
最佳答案
在Java中,您想捕获SQLException
并测试错误代码:
PreparedStatement stmt = ...;
try
{
stmt.executeUpdate();
}
catch (SQLException e) {
if (e.getErrorCode() == -803)
{
// handle duplicate entry
}
else
{
// handle other errors
}
}
注意,此代码是特定于DB2的,因为-803是特定于供应商的错误代码。
关于java - Java中的COBOL-DB2 -803等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16813466/