Pl/sql Conditional Control: IF statementsFrequently, it is necessary to take the alternative actions depending on the circumstances. The IF statement execute a series of statements conditionally. That is, whether the series is executed or not depends on the value of the condition. There are 3 forms of IF statements: IF-THEN, IF-THEN-ELSE, & IF-THEN-ELSIF.IF-THENThe simplest form of the IF statement acquaintances a condition with a series of statements enclosed by the keywords THEN and END IF (not ENDIF), as shown below:IF condition THENsequence_of_statementsEND IF;The series of statements is executed only if the condition is true. When the condition is false or null, then the IF statement can do nothing. In either of the case, the control passes to the next statement. An illustration is shown below:IF sales > quota THENcompute_bonus(empid);UPDATE payroll SET pay = pay + bonus WHERE empno = emp_id;END IF;You may want to place brief IF statements on a single line, as inIF x > y THEN high := x; END IF;IF-THEN-ELSEThe IF statement that is the second form adds the keyword ELSE follow by an alternative series of statements is as shown below:IF condition THENsequence_of_statements1ELSEsequence_of_statements2END IF;The series of statements in the ELSE clause is executed only if the condition is false or null. Therefore, the ELSE clause ensure that a sequence of statements is executed. In the example below, the first UPDATE statement is executed if the condition is true, while the second UPDATE statement is executed if the condition is false or null:IF trans_type = ’CR’ THENUPDATE accounts SET balance = balance + credit WHERE...ELSEUPDATE accounts SET balance = balance - debit WHERE...END IF;The THEN and ELSE clauses can involve the IF statements. That is, the IF statements can be nested, as the example below shows:IF trans_type = ’CR’ THENUPDATE accounts SET balance = balance + credit WHERE...ELSEIF new_balance >= minimum_balance THENUPDATE accounts SET balance = balance - debit WHERE ...ELSERAISE insufficient_funds;END IF;END IF;IF-THEN-ELSIFAt many times you want to select an action from some mutually exclusive alternatives. The third form of the IF statement uses the keyword ELSIF to introduce the additional conditions which is as shown below:IF condition1 THENsequence_of_statements1ELSIF condition2 THENsequence_of_statements2ELSEsequence_of_statements3END IF;When the first condition is false or null, then the ELSIF clause tests another condition. An IF statement can have a few number of ELSIF clauses; the final ELSE clause is elective. The Conditions are evaluated one by one from top to bottom. When any condition is true, its related sequence of statements is executed and the control passes to the next statement. If all the conditions are false or null, then the sequence in the ELSE clause is executed. Consider the following illustration as shown below:BEGIN...IF sales > 50000 THENbonus := 1500;ELSIF sales > 35000 THENbonus := 500;ELSEbonus := 100;END IF;INSERT INTO payroll VALUES (emp_id, bonus, ...);END;When the value of sales is bigger than 50000, the first and second conditions are true.However, bonus is assigned the proper value of 1500 as the second condition is never tested. When the first condition is true, its related statement is executed and the control passes to the INSERT statement.