Hi Roland,

I added a ittle example that shows how to trap the value error and stores
it into a very simple
error table. This is very basic, normally you add a lot more exceptions (
like NO_DATA_FOUND
and ofcourse the OTHERS) and store a lot more information in your
error_table ( like the value
that raises the error, some extra comments, etc, etc), but this all depends
on how simple/complex
you want to make it.

HTH

Dave


-- Example.sql

CREATE OR REPLACE PROCEDURE test_proc
IS
   l_msg          VARCHAR2 (80);
   l_test_field   VARCHAR2 (10);
BEGIN
-- Generating the field overflow

   l_test_field := 'This is longer than 10';
EXCEPTION
   WHEN VALUE_ERROR
   THEN
-- Move the errormessage to local variable because I
-- cannot use the function in a SQL statement

      l_msg := SQLERRM;

      INSERT INTO error_table
           VALUES (l_msg);

      COMMIT;
END;
/





                                                                                       
                            
                    Roland.Skoldbl                                                     
                            
                    [EMAIL PROTECTED]            To:     Multiple recipients of list ORACLE-L 
<[EMAIL PROTECTED]>       
                    Sent by:             cc:                                           
                            
                    [EMAIL PROTECTED]       Subject:     Errorhandling                    
                            
                    om                                                                 
                            
                                                                                       
                            
                                                                                       
                            
                    18-05-2001                                                         
                            
                    09:00                                                              
                            
                    Please respond                                                     
                            
                    to ORACLE-L                                                        
                            
                                                                                       
                            
                                                                                       
                            



Hallo you DBA's:

Can  someone give me an example on how to write the code to trap errors
where the field is too large to fit in the size of the  PL/SQL
variable?

 I also want the errors to be logged in a table. Please give me a good
example on PL/SQL code and also includ ethe insert statement into the
table.

Sincerely

Roland Sk�ldblom




--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).




=====================================================================
De informatie verzonden in dit e-mailbericht is vertrouwelijk en is
uitsluitend bestemd voor de geadresseerde. Openbaarmaking,
vermenigvuldiging, verspreiding en/of verstrekking van deze informatie aan
derden is, behoudens voorafgaande schriftelijke toestemming van Ernst &
Young, niet toegestaan. Ernst & Young staat niet in voor de juiste en
volledige overbrenging van de inhoud van een verzonden e-mailbericht, noch
voor tijdige ontvangst daarvan. Ernst & Young kan niet garanderen dat een
verzonden e-mailbericht vrij is van virussen, noch dat e-mailberichten
worden overgebracht zonder inbreuk of tussenkomst van onbevoegde derden.

Indien bovenstaand e-mailbericht niet aan u is gericht, verzoeken wij u
vriendelijk doch dringend het e-mailbericht te retourneren aan de verzender
en het origineel en eventuele kopie�n te verwijderen en te vernietigen.

Ernst & Young hanteert bij de uitoefening van haar werkzaamheden algemene
voorwaarden, waarin een beperking van aansprakelijkheid is opgenomen. De
algemene voorwaarden worden u op verzoek kosteloos toegezonden.
=====================================================================
The information contained in this communication is confidential and is
intended solely for the use of the individual or entity to whom it is
addressed. You should not copy, disclose or distribute this communication
without the authority of Ernst & Young. Ernst & Young is neither liable for
the proper and complete transmission of the information contained in this
communication nor for any delay in its receipt. Ernst & Young does not
guarantee that the integrity of this communication has been maintained nor
that the communication is free of viruses, interceptions or interference.

If you are not the intended recipient of this communication please return
the communication to the sender and delete and destroy all copies.

In carrying out its engagements, Ernst & Young applies general terms and
conditions, which contain a clause that limits its liability. A copy of
these terms and conditions is available on request free of charge.
=====================================================================





--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to