FW: a pl/sql question

  • From: "Freeman, Donald" <dofreeman@xxxxxxxxxxx>
  • To: "Oracle-L (E-mail)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 30 Apr 2004 11:11:45 -0400

>       The difference in this case is your example selects into a variable =
instead of directly updating the table.  I followed up on this by =
reading the PL/SQL manual (RTFM?) and there are several warnings about =
using cursor attributes including one similiar to your example. What I =
wrote is only good for the narrow usage I showed ;-).  On page 6-40 of =
the 9.2 PL/SQL Users Guide is:
>=20
>                       "If a SELECT INTO statement fails to return a row, 
> PL/SQL raises =
the predefined
>                       exception NO_DATA_FOUND whether you check %NOTFOUND on 
> the next =
line or not.
>                       Consider the following example:
>                       BEGIN
>                       ...
>                       SELECT sal INTO my_sal FROM emp WHERE empno =3D 
> my_empno;
>                       -- might raise NO_DATA_FOUND
>                       IF SQL%NOTFOUND THEN -- condition tested only when false
>                       ... -- this action is never taken
>                       END IF;
>                       The check is useless because the IF condition is tested 
> only when =
%NOTFOUND is
>                       false. When PL/SQL raises NO_DATA_FOUND, normal 
> execution stops and =
control
>                       transfers to the exception-handling part of the block."
>       =20
>       > An update that doesn't update any records is not an exception =
error.
>       >=20
>       > Trying to select multiple record values or no record values=20
>       > when you expect
>       > to always get one and only one value is an exception, so that=20
>       > logic won't
>       > work in this situation.
>=20
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts:

  • » FW: a pl/sql question