What is user define exception and example
Answer / harinadh bolisetti
PL/SQL allows developers to define their own exceptions.
User can define the error/exception programmatically based on the business rule.
1. Define Exception
---------------------
We need to define the exception before we raise and handle. User Exceptions are defined using keyword EXCEPTION in declaration section of the block.
The syntax is as follows
<exception_name> EXCEPTION ;
2. Raise the Exception
--------------------------
Once the exceptions are defined , they need to be raised anywhere in the body depending upon predefined logic. User exceptions are raised using the keyword RAISE.
Syntax is as shown below
RAISE <exception_name>
3. Handle the Exception.
--------------------------
User exception are handled in the same way predefined exceptions are handled. They are handled in exception block using WHEN .. THEN keyword
Syntax is as shown below
WHEN <exception_name> THEN
example
----------------
DECLARE
low_sal EXCEPTION;
min_sal NUMBER:= 10000;
new_sal NUMBER:= 8000;
BEGIN
INSERT INTO EMP_EXC_DEMO(EMPNO, DEPTNO, SAL)
VALUES (4000,20,new_sal);
IF new_sal < min_sal THEN
RAISE low_sal;
END IF;
commit;
EXCEPTION
WHEN low_sal THEN
Rollback;
DBMS_OUTPUT.PUT_LINE ('Salary is less than '||min_sal);
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (SQLERRM);
END;
| Is This Answer Correct ? | 2 Yes | 0 No |
What is indexing oracle sql?
how to extract a unit value from a date and time? : Sql dba
What is meaning of <> in sql?
What are the parameter modes supported by pl/sql?
what is transaction? : Sql dba
How to fetch values from testtable1 that are not in testtable2 without using not keyword?
What are the disadvantages of file system?
Name three sql operations that perform a sort.
I WANT INFORMATION ABOUT SAS SOFTWARE USING FINANCIAL COMPANIES LIST, PLESE GIVE ME DETAILS ABOUT
Is keyword pl sql?
What is the difference between count 1 and count (*) in a sql query?
Can we use SQL%ISOPEN in implicit cursors? Does this attribute works properly in Implicit Curosors?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)