This section explains the code provided in the previous section. Let me start with the following: Invalid_sal exception; “Invalid_Sal” and “Invalid_Deptno” are two user-defined exceptions which can be raised within our logic according to our requirements. The following is the code fragment which checks for the validity of salary: if p_sal<100 or p_sal>10000 then In the above code fragment, if the salary is not in between 100 and 10000, it raises the user-defined exception “Invalid_sal.” Once it is raised, the control (or flow of execution) jumps to the exception section, and gets the following to be executed: when invalid_sal then The above statement returns a user-defined message to the application which called the stored procedure. Coming to the department validation, I need to check whether the given department number exists in the “dept” table or not. If it is not available, I would like to raise an exception and send a message back to the user. The following is the PL/SQL block which is nested into the main block to handle the same: declare The above checks to see whether the department exists or not. If it doesn’t exist, the SELECT statement fails. If it fails, “no_data_found” gets raised, which in turn fires the “invalid_deptno” exception. If any other error occurs, it simply raises a default error. If the “Invalid_deptno” exception is raised, control (or flow of execution) jumps to the following: when invalid_deptno then
blog comments powered by Disqus |