prior to vsn7,
db2 would always populate the host-variables with 'one of' the resultant rows,
but which was always unpredictable.
vsn7 and >>>
population of the host-variable by db2 on returning a -811 sqlcode, is not done.
and since it is a singleton select,
you do not have an order by,
your comment that it is the 2nd row is not based on definite predictability. _________________ Dick Brenholtz
JCL, SQL and code in programs have an irritating habit of doing what you say,
not what you meant.
Posted: Fri Apr 26, 2013 11:45 pm Post subject: Duplication (-811) when handled fetches the second row.. ??
It might not be a unpredictable..i'm not sure but the following might be a reason:
when the select query is executed, internally it would search for a match in criteria. After finding a first match it continue to search to ensure that there are no duplicates. Once it finds a second match it throws a duplication error(-811). If this error is handled, the latest fetched/accessed record would be the second row. Hence the second row is always fetched.
Joined: 24 Jul 2011 Posts: 651 Location: Down on the pig farm
Posted: Sat Apr 27, 2013 1:04 pm Post subject:
It makes sense but...there is no guarantee that the second row fetched was the same as the previous time this happened as DB2 does not guarantee the order unless you use ORDER which, I believe, can only be used with a cursor. Anyway, in the years that have passed since the original post things could have changed from what the OP and DBZ wrote. _________________ Regards
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum