Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: insert into returns 0 rows
On 27.10.2004 15:17 Agoston Bejo wrote:
> Hi,
> when a SELECT in an INSERT INTO statement returns no rows, NO_DATA_FOUND
> exception is raised. How do I write a "nice" SELECT INTO when I expect that
> 0 or 1 row gets returned, and the variable should be NULL if no rows are
> returned.
> By "nice" I mean that my intention is clear from the source code and no
> exception-catching is involved, since that would suggest that I'm handling
> such a condition that shouldn't occur.
> Therefore the following two techniques are not satisfying:
>
> SELECT MIN(thefield) INTO myvar ... -- (not clear what is intended)
>
> BEGIN --exception handling where no real exceptional condition occurs
> SELECT thefield INTO myvar...
> EXCEPTION WHEN NO_DATA_FOUND THEN
> myvar := NULL
> END;
I can't see a problem with the second approach. Simply add a comment to explain
that this is an expected exception. From my point of view this is perfectly
acceptable
Thomas Received on Wed Oct 27 2004 - 08:58:11 CDT