<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FPL_SQL_Statements%2FIF</id>
		<title>Oracle PL/SQL Tutorial/PL SQL Statements/IF - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FPL_SQL_Statements%2FIF"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/IF&amp;action=history"/>
		<updated>2026-05-24T08:39:14Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/IF&amp;diff=3190&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/IF&amp;diff=3190&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/IF&amp;diff=3191&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/PL_SQL_Statements/IF&amp;diff=3191&amp;oldid=prev"/>
				<updated>2010-05-26T10:05:37Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== A Simple Condition Statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace function f_isSunday (in_dt DATE)&lt;br /&gt;
  2  return VARCHAR2&lt;br /&gt;
  3  is&lt;br /&gt;
  4      v_out VARCHAR2(10);&lt;br /&gt;
  5  begin&lt;br /&gt;
  6      if to_char(in_dt,&amp;quot;d&amp;quot;)=1 then&lt;br /&gt;
  7          v_out:=&amp;quot;Y&amp;quot;;&lt;br /&gt;
  8           DBMS_OUTPUT.put_line(&amp;quot;IsSunday=Y&amp;quot;);&lt;br /&gt;
  9      end if;&lt;br /&gt;
 10      return v_out;&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== A Simple Condition Statement with BOOLEAN variable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace function f_isSunday (in_dt DATE)&lt;br /&gt;
  2  return VARCHAR2&lt;br /&gt;
  3  is&lt;br /&gt;
  4      v_out VARCHAR2(10);&lt;br /&gt;
  5      v_flag_b BOOLEAN;&lt;br /&gt;
  6  begin&lt;br /&gt;
  7      v_flag_b := to_char(in_dt,&amp;quot;d&amp;quot;)=1;&lt;br /&gt;
  8      if v_flag_b then&lt;br /&gt;
  9          v_out:=&amp;quot;Y&amp;quot;;&lt;br /&gt;
 10          DBMS_OUTPUT.put_line(&amp;quot;IsSunday=Y&amp;quot;);&lt;br /&gt;
 11      end if;&lt;br /&gt;
 12      return v_out;&lt;br /&gt;
 13  end;&lt;br /&gt;
 14  /&lt;br /&gt;
Function created.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Block IF statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_A Number := 50 ;&lt;br /&gt;
  3    v_B Number := 0 ;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    IF v_A &amp;gt; 40 THEN&lt;br /&gt;
  6      v_B := v_A - 40;&lt;br /&gt;
  7      DBMS_OUTPUT.PUT_LINE(&amp;quot;V_B = &amp;quot; || v_B);&lt;br /&gt;
  8    END IF;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
V_B = 10&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Comparing with NULL==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2      v NUMBER;&lt;br /&gt;
  3  begin&lt;br /&gt;
  4      if v = 1 then&lt;br /&gt;
  5          DBMS_OUTPUT.put_line(&amp;quot;Equal to 1&amp;quot;);&lt;br /&gt;
  6      elsif v!= 1 then&lt;br /&gt;
  7          DBMS_OUTPUT.put_line(&amp;quot;Not equal to 1&amp;quot;);&lt;br /&gt;
  8      elsif v = v then&lt;br /&gt;
  9          DBMS_OUTPUT.put_line(&amp;quot;Equal to itself&amp;quot;);&lt;br /&gt;
 10      else&lt;br /&gt;
 11          DBMS_OUTPUT.put_line(&amp;quot;Undefined result&amp;quot;);&lt;br /&gt;
 12      end if;&lt;br /&gt;
 13      v:=v+1;&lt;br /&gt;
 14      DBMS_OUTPUT.put_line(&amp;quot;New value: &amp;lt;&amp;quot;||v||&amp;quot;&amp;gt;&amp;quot;);&lt;br /&gt;
 15  end;&lt;br /&gt;
 16  /&lt;br /&gt;
Undefined result&lt;br /&gt;
New value: &amp;lt;&amp;gt;&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Conditional Logic==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;You may use the IF, THEN, ELSE, ELSIF, and END IF keywords in PL/SQL for performing conditional logic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The following syntax illustrates the use of conditional logic:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
IF condition1 THEN&lt;br /&gt;
  statements1&lt;br /&gt;
ELSIF condition2 THEN&lt;br /&gt;
  statements2&lt;br /&gt;
ELSE&lt;br /&gt;
  statements3&lt;br /&gt;
END IF;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Create a function and call it in an if statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2    id         NUMBER PRIMARY KEY,&lt;br /&gt;
  3    fname VARCHAR2(50),&lt;br /&gt;
  4    lname  VARCHAR2(50)&lt;br /&gt;
  5  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE books (&lt;br /&gt;
  2    isbn      CHAR(10) PRIMARY KEY,&lt;br /&gt;
  3    category  VARCHAR2(20),&lt;br /&gt;
  4    title     VARCHAR2(100),&lt;br /&gt;
  5    num_pages NUMBER,&lt;br /&gt;
  6    price     NUMBER,&lt;br /&gt;
  7    copyright NUMBER(4),&lt;br /&gt;
  8    emp1   NUMBER,&lt;br /&gt;
  9    emp2   NUMBER,&lt;br /&gt;
 10    emp3   NUMBER&lt;br /&gt;
 11  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE FUNCTION Threeemp(p_ISBN IN books.isbn%TYPE)&lt;br /&gt;
  2    RETURN BOOLEAN AS&lt;br /&gt;
  3&lt;br /&gt;
  4    v_emp3 books.emp3%TYPE;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6    SELECT emp3 INTO v_emp3 FROM books WHERE isbn = p_ISBN;&lt;br /&gt;
  7&lt;br /&gt;
  8    IF v_emp3 IS NULL THEN&lt;br /&gt;
  9      RETURN FALSE;&lt;br /&gt;
 10    ELSE&lt;br /&gt;
 11      RETURN TRUE;&lt;br /&gt;
 12    END IF;&lt;br /&gt;
 13  END Threeemp;&lt;br /&gt;
 14  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; BEGIN&lt;br /&gt;
  2    FOR v_Rec IN (SELECT ISBN, title FROM books) LOOP&lt;br /&gt;
  3      IF Threeemp(v_Rec.ISBN) THEN&lt;br /&gt;
  4        DBMS_OUTPUT.PUT_LINE(&amp;quot;&amp;quot;&amp;quot; || v_Rec.title || &amp;quot;&amp;quot; has 3 emp&amp;quot;);&lt;br /&gt;
  5      END IF;&lt;br /&gt;
  6    END LOOP;&lt;br /&gt;
  7  END;&lt;br /&gt;
  8  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; drop table books;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== ELSIF Ladder==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2      v_Score Number := 85; --Percentage&lt;br /&gt;
  3      v_LetterGrade Char(1);&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5      IF v_Score &amp;gt;= 90 THEN&lt;br /&gt;
  6           v_LetterGrade := &amp;quot;A&amp;quot;;&lt;br /&gt;
  7      ELSIF v_Score &amp;gt;= 80 THEN&lt;br /&gt;
  8           v_LetterGrade := &amp;quot;B&amp;quot;;&lt;br /&gt;
  9      ELSIF v_Score &amp;gt;= 70 THEN&lt;br /&gt;
 10           v_LetterGrade := &amp;quot;C&amp;quot;;&lt;br /&gt;
 11      ELSIF v_Score &amp;gt;= 60 THEN&lt;br /&gt;
 12           v_LetterGrade := &amp;quot;D&amp;quot;;&lt;br /&gt;
 13      ELSE&lt;br /&gt;
 14           v_LetterGrade := &amp;quot;E&amp;quot;;&lt;br /&gt;
 15      END IF;&lt;br /&gt;
 16      DBMS_OUTPUT.PUT_LINE(&amp;quot;Your Letter Grade is: &amp;quot; || v_LetterGrade);&lt;br /&gt;
 17  END;&lt;br /&gt;
 18  /&lt;br /&gt;
Your Letter Grade is: B&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Handling conditions==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Conditions can be connected by using logical operations: AND, OR, and NOT.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The default order of evaluation is standard.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;First any parentheses are resolved.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Then operators are executed on the same level in order of precedence: NOT (highest precedence), AND, and OR (lowest precedence).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2      v_day NUMBER := TO_CHAR(TO_DATE(&amp;quot;20060101&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;),&amp;quot;D&amp;quot;);&lt;br /&gt;
  3  begin&lt;br /&gt;
  4      if v_day in (1,7) or (v_day not in (1,7) and (v_day between 0 and 6 or v_day between 19 and 23))&lt;br /&gt;
  5      then&lt;br /&gt;
  6          DBMS_OUTPUT.put_line(v_day||&amp;quot;: Off-peak&amp;quot;);&lt;br /&gt;
  7      else&lt;br /&gt;
  8          DBMS_OUTPUT.put_line(v_day||&amp;quot;: Peak&amp;quot;);&lt;br /&gt;
  9      end if;&lt;br /&gt;
 10  end;&lt;br /&gt;
 11  /&lt;br /&gt;
1: Off-peak&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== If block statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table employee (&lt;br /&gt;
  2  id                  number,&lt;br /&gt;
  3  employee_type_id    number,&lt;br /&gt;
  4  external_id         varchar2(30),&lt;br /&gt;
  5  first_name          varchar2(30),&lt;br /&gt;
  6  middle_name         varchar2(30),&lt;br /&gt;
  7  last_name           varchar2(30),&lt;br /&gt;
  8  name                varchar2(100),&lt;br /&gt;
  9  birth_date          date,&lt;br /&gt;
 10  gender_id           number);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table gender (&lt;br /&gt;
  2  id                  number,&lt;br /&gt;
  3  code                varchar2(30),&lt;br /&gt;
  4  description         varchar2(80),&lt;br /&gt;
  5  active_date         date        default SYSDATE  not null,&lt;br /&gt;
  6  inactive_date       date );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into gender ( id, code, description ) values ( 1, &amp;quot;F&amp;quot;, &amp;quot;Female&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into gender ( id, code, description ) values ( 2, &amp;quot;M&amp;quot;, &amp;quot;Male&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into gender ( id, code, description ) values ( 3, &amp;quot;U&amp;quot;, &amp;quot;Unknown&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table employee_type (&lt;br /&gt;
  2  id                             number                         not null,&lt;br /&gt;
  3  code                           varchar2(30)                   not null,&lt;br /&gt;
  4  description                    varchar2(80)                   not null,&lt;br /&gt;
  5  active_date                    date          default SYSDATE  not null,&lt;br /&gt;
  6  inactive_date                  date );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employee_type(id,code,description)values(1,&amp;quot;C&amp;quot;,&amp;quot;Contractor&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employee_type(id,code,description)values(2,&amp;quot;E&amp;quot;,&amp;quot;Employee&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employee_type(id,code,description)values(3,&amp;quot;U&amp;quot;,&amp;quot;Unknown&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on size 1000000;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2      n_id                employee.id%TYPE;&lt;br /&gt;
  3      n_employee_type_id  employee.employee_type_id%TYPE;&lt;br /&gt;
  4      v_external_id       employee.external_id%TYPE;&lt;br /&gt;
  5      v_first_name        employee.first_name%TYPE;&lt;br /&gt;
  6      v_middle_name       employee.middle_name%TYPE;&lt;br /&gt;
  7      v_last_name         employee.last_name%TYPE;&lt;br /&gt;
  8      v_name              employee.name%TYPE;&lt;br /&gt;
  9      d_birth_date        employee.birth_date%TYPE;&lt;br /&gt;
 10      n_gender_id         employee.gender_id%TYPE;&lt;br /&gt;
 11&lt;br /&gt;
 12      n_inserted          number := 0;&lt;br /&gt;
 13      n_updated           number := 0;&lt;br /&gt;
 14&lt;br /&gt;
 15  begin&lt;br /&gt;
 16    v_first_name  := &amp;quot;JOHN&amp;quot;;&lt;br /&gt;
 17    v_middle_name := &amp;quot;J.&amp;quot;;&lt;br /&gt;
 18    v_last_name   := &amp;quot;DOE&amp;quot;;&lt;br /&gt;
 19    v_name        := rtrim(v_last_name||&amp;quot;, &amp;quot;||v_first_name||&amp;quot; &amp;quot;||v_middle_name);&lt;br /&gt;
 20    d_birth_date  := to_date(&amp;quot;19800101&amp;quot;, &amp;quot;YYYYMMDD&amp;quot;);&lt;br /&gt;
 21&lt;br /&gt;
 22    begin&lt;br /&gt;
 23      select id into n_employee_type_id from employee_type where  code = &amp;quot;C&amp;quot;;&lt;br /&gt;
 24    exception&lt;br /&gt;
 25      when OTHERS then&lt;br /&gt;
 26        raise_application_error(-20002, SQLERRM||&amp;quot; on select employee_type&amp;quot;);&lt;br /&gt;
 27    end;&lt;br /&gt;
 28&lt;br /&gt;
 29    begin&lt;br /&gt;
 30      select id into n_gender_id from gender where code = &amp;quot;M&amp;quot;;&lt;br /&gt;
 31    exception&lt;br /&gt;
 32      when OTHERS then&lt;br /&gt;
 33        raise_application_error(-20004, SQLERRM||&amp;quot; on select gender&amp;quot;);&lt;br /&gt;
 34    end;&lt;br /&gt;
 35&lt;br /&gt;
 36    begin&lt;br /&gt;
 37      select id into n_id from employee&lt;br /&gt;
 38      where  name       = v_name&lt;br /&gt;
 39      and    birth_date = d_birth_date&lt;br /&gt;
 40      and    gender_id  = n_gender_id;&lt;br /&gt;
 41    exception&lt;br /&gt;
 42      when NO_DATA_FOUND then&lt;br /&gt;
 43        n_id := NULL;&lt;br /&gt;
 44      when OTHERS then&lt;br /&gt;
 45        raise_application_error(-20003, SQLERRM||&amp;quot; on select employee_T&amp;quot;);&lt;br /&gt;
 46    end;&lt;br /&gt;
 47&lt;br /&gt;
 48    if n_id is NULL then&lt;br /&gt;
 49      begin&lt;br /&gt;
 50        select 12 into n_id from SYS.DUAL;&lt;br /&gt;
 51      exception&lt;br /&gt;
 52        when OTHERS then&lt;br /&gt;
 53          raise_application_error(-20004, SQLERRM||&amp;quot; on select 12&amp;quot;);&lt;br /&gt;
 54      end;&lt;br /&gt;
 55&lt;br /&gt;
 56      begin&lt;br /&gt;
 57        select lpad(to_char(12), 9, &amp;quot;0&amp;quot;) into v_external_id from SYS.DUAL;&lt;br /&gt;
 58      exception&lt;br /&gt;
 59        when OTHERS then&lt;br /&gt;
 60          raise_application_error(-20005, SQLERRM||&amp;quot; on select 12&amp;quot;);&lt;br /&gt;
 61      end;&lt;br /&gt;
 62&lt;br /&gt;
 63      begin&lt;br /&gt;
 64        insert into employee (&lt;br /&gt;
 65               id,&lt;br /&gt;
 66               employee_type_id,&lt;br /&gt;
 67               external_id,&lt;br /&gt;
 68               first_name,&lt;br /&gt;
 69               middle_name,&lt;br /&gt;
 70               last_name,&lt;br /&gt;
 71               name,&lt;br /&gt;
 72               birth_date,&lt;br /&gt;
 73               gender_id )&lt;br /&gt;
 74        values (&lt;br /&gt;
 75               n_id,&lt;br /&gt;
 76               n_employee_type_id,&lt;br /&gt;
 77               v_external_id,&lt;br /&gt;
 78               v_first_name,&lt;br /&gt;
 79               v_middle_name,&lt;br /&gt;
 80               v_last_name,&lt;br /&gt;
 81               v_name,&lt;br /&gt;
 82               d_birth_date,&lt;br /&gt;
 83               n_gender_id );&lt;br /&gt;
 84&lt;br /&gt;
 85        n_inserted := sql%rowcount;&lt;br /&gt;
 86      exception&lt;br /&gt;
 87        when OTHERS then&lt;br /&gt;
 88          raise_application_error(-20006, SQLERRM||&amp;quot; on insert employee&amp;quot;);&lt;br /&gt;
 89      end;&lt;br /&gt;
 90    else&lt;br /&gt;
 91      begin&lt;br /&gt;
 92        update employee&lt;br /&gt;
 93        set    employee_type_id  = n_employee_type_id&lt;br /&gt;
 94        where  id              = n_id;&lt;br /&gt;
 95&lt;br /&gt;
 96        n_updated := sql%rowcount;&lt;br /&gt;
 97      exception&lt;br /&gt;
 98        when OTHERS then&lt;br /&gt;
 99          raise_application_error(-20007, SQLERRM||&amp;quot; on update employee&amp;quot;);&lt;br /&gt;
100      end;&lt;br /&gt;
101    end if;&lt;br /&gt;
102&lt;br /&gt;
103    DBMS_OUTPUT.PUT_LINE(to_char(n_inserted)||&amp;quot; row(s) inserted.&amp;quot;);&lt;br /&gt;
104    DBMS_OUTPUT.PUT_LINE(to_char(n_updated)||&amp;quot; row(s) updated.&amp;quot;);&lt;br /&gt;
105  end;&lt;br /&gt;
106  /&lt;br /&gt;
1 row(s) inserted.&lt;br /&gt;
0 row(s) updated.&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table gender;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employee_type;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== IF...ELSE statements==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Using ELSE in a Condition Statement&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
IF &amp;lt;condition&amp;gt; then&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
else&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
end if;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== IF..ELSIF ladder==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
if &amp;lt;condition&amp;gt; then&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
elsif &amp;lt;condition&amp;gt; then&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
elsif &amp;lt;condition&amp;gt; then&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
else&lt;br /&gt;
   ...&amp;lt;&amp;lt;set of statements&amp;gt;&amp;gt;...&lt;br /&gt;
end if;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== IF with ELSE==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_A Number := 50;&lt;br /&gt;
  3    v_B Number;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    IF v_A &amp;gt; 40 THEN&lt;br /&gt;
  6         v_B := v_A - 40;&lt;br /&gt;
  7         DBMS_OUTPUT.PUT_LINE(&amp;quot;V_B = &amp;quot; || v_B);&lt;br /&gt;
  8    ELSE&lt;br /&gt;
  9         v_B := 0;&lt;br /&gt;
 10    END IF;&lt;br /&gt;
 11  END;&lt;br /&gt;
 12  /&lt;br /&gt;
V_B = 10&lt;br /&gt;
PL/SQL procedure successfully completed.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== JUMP out of a IF statement with goto==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set serveroutput on&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;    DECLARE&lt;br /&gt;
  2          v_Status NUMBER := 1;&lt;br /&gt;
  3     BEGIN&lt;br /&gt;
  4          IF v_Status = 1 THEN&lt;br /&gt;
  5               GOTO mybranch;&lt;br /&gt;
  6          ELSE&lt;br /&gt;
  7               v_Status := 1;&lt;br /&gt;
  8          END IF;&lt;br /&gt;
  9          &amp;lt;&amp;lt;mybranch&amp;gt;&amp;gt;&lt;br /&gt;
 10          NULL;&lt;br /&gt;
 11    END;&lt;br /&gt;
 12  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== PLW-06002: Unreachable code==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER SESSION SET plsql_warnings = &amp;quot;enable:all&amp;quot;&lt;br /&gt;
  2  /&lt;br /&gt;
Session altered.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DROP FUNCTION plw6002;&lt;br /&gt;
Function dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE plw6002&lt;br /&gt;
  2  AS&lt;br /&gt;
  3     l_checking BOOLEAN := FALSE;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5     NULL;&lt;br /&gt;
  6     IF l_checking&lt;br /&gt;
  7     THEN&lt;br /&gt;
  8        DBMS_OUTPUT.put_line (&amp;quot;Never here...&amp;quot;);&lt;br /&gt;
  9     ELSE&lt;br /&gt;
 10        DBMS_OUTPUT.put_line (&amp;quot;Always here...&amp;quot;);&lt;br /&gt;
 11        GOTO end_of_function;&lt;br /&gt;
 12     END IF;&lt;br /&gt;
 13     &amp;lt;&amp;lt;end_of_function&amp;gt;&amp;gt;&lt;br /&gt;
 14     NULL;&lt;br /&gt;
 15  END plw6002;&lt;br /&gt;
 16  /&lt;br /&gt;
SP2-0804: Procedure created with compilation warnings&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SHOW ERRORS PROCEDURE plw6002&lt;br /&gt;
Errors for PROCEDURE PLW6002:&lt;br /&gt;
LINE/COL ERROR&lt;br /&gt;
-------- -----------------------------------------------------------------&lt;br /&gt;
5/4      PLW-06002: Unreachable code&lt;br /&gt;
6/7      PLW-06002: Unreachable code&lt;br /&gt;
8/7      PLW-06002: Unreachable code&lt;br /&gt;
14/4     PLW-06002: Unreachable code&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The IF...THEN...ELSE Statement==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The IF...THEN...ELSE statement allows you to process a series of statements under ELSE if the condition is false.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Syntax for the IF...THEN...ELSE Statement&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
IF  &amp;lt;some_condition_evaluates_to_true&amp;gt;&lt;br /&gt;
THEN&lt;br /&gt;
    &amp;lt;perform_statements_condition_true&amp;gt;&lt;br /&gt;
ELSE&lt;br /&gt;
    &amp;lt;perform_statements_condition_false&amp;gt;&lt;br /&gt;
END IF;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The Syntax for IF...ELSIF==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
IF &amp;lt;condition1_evaluates_to_true&amp;gt;&lt;br /&gt;
  THEN&lt;br /&gt;
      &amp;lt;perform_statements&amp;gt;&lt;br /&gt;
  ELSIF &amp;lt;condition2_evaluates_to_true&amp;gt;&lt;br /&gt;
  THEN&lt;br /&gt;
       &amp;lt;perform_statements&amp;gt;&lt;br /&gt;
  ELSIF &amp;lt;condition3_evaluates_to_true&amp;gt;&lt;br /&gt;
  THEN&lt;br /&gt;
       &amp;lt;perform_statements&amp;gt;&lt;br /&gt;
  ELSE &amp;lt;this is always optional as the default value&amp;gt;&lt;br /&gt;
       &amp;lt;perform_statements&amp;gt;&lt;br /&gt;
  END IF;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The Syntax for Nested IF Statements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
IF &amp;lt;condition1 evaluates to true&amp;gt;&lt;br /&gt;
  THEN&lt;br /&gt;
       IF &amp;lt;condition2 evaluates to true&amp;gt;&lt;br /&gt;
       THEN&lt;br /&gt;
            &amp;lt;perform statements&amp;gt;&lt;br /&gt;
       ELSE &amp;lt;both conditions have been evaluated to false&amp;gt;&lt;br /&gt;
            IF &amp;lt;condition3 evaluates to true&amp;gt;&lt;br /&gt;
            THEN&lt;br /&gt;
                 &amp;lt;perform statements&amp;gt;&lt;br /&gt;
            ELSE&lt;br /&gt;
                 &amp;lt;perform statements&amp;gt;&lt;br /&gt;
            END IF;&lt;br /&gt;
       END IF;&lt;br /&gt;
  END IF;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Three valued comparison==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET ECHO ON&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    a     INTEGER;&lt;br /&gt;
  3    b     BOOLEAN;&lt;br /&gt;
  4    n     INTEGER;     --this will be our null value.&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6    a := 2;&lt;br /&gt;
  7&lt;br /&gt;
  8    b := (a &amp;lt;&amp;gt; n);&lt;br /&gt;
  9    IF b THEN&lt;br /&gt;
 10      DBMS_OUTPUT.PUT_LINE(&amp;quot;a &amp;lt;&amp;gt; n is TRUE&amp;quot;);&lt;br /&gt;
 11    ELSIF NOT b THEN&lt;br /&gt;
 12      DBMS_OUTPUT.PUT_LINE(&amp;quot;a &amp;lt;&amp;gt; n is FALSE&amp;quot;);&lt;br /&gt;
 13    ELSE&lt;br /&gt;
 14      DBMS_OUTPUT.PUT_LINE(&amp;quot;a &amp;lt;&amp;gt; n is NULL&amp;quot;);&lt;br /&gt;
 15    END IF;&lt;br /&gt;
 16  END;&lt;br /&gt;
 17  /&lt;br /&gt;
a &amp;lt;&amp;gt; n is NULL&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Use IF THEN ELSE IF==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt; SET ECHO ON&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    employee_name_c CHAR(32);&lt;br /&gt;
  3    employee_name_v VARCHAR2(32);&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    --Assign the same value to each string.&lt;br /&gt;
  6    employee_name_c := &amp;quot;CHAR&amp;quot;;&lt;br /&gt;
  7    employee_name_v := &amp;quot;VARCHAR&amp;quot;;&lt;br /&gt;
  8&lt;br /&gt;
  9    --Test the strings for equality.&lt;br /&gt;
 10    IF employee_name_c = employee_name_v THEN&lt;br /&gt;
 11      DBMS_OUTPUT.PUT_LINE(&amp;quot;The names are the same&amp;quot;);&lt;br /&gt;
 12    ELSE&lt;br /&gt;
 13      DBMS_OUTPUT.PUT_LINE(&amp;quot;The names are NOT the same&amp;quot;);&lt;br /&gt;
 14    END IF;&lt;br /&gt;
 15  END;&lt;br /&gt;
 16  /&lt;br /&gt;
The names are NOT the same&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Use if with &amp;quot;IN&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    test_date     DATE;&lt;br /&gt;
  3    day_of_week   VARCHAR2(3);&lt;br /&gt;
  4    years_ahead   INTEGER;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6    test_date := TO_DATE(&amp;quot;1-Jan-1997&amp;quot;,&amp;quot;dd-mon-yyyy&amp;quot;);&lt;br /&gt;
  7&lt;br /&gt;
  8    FOR years_ahead IN 1..10 LOOP&lt;br /&gt;
  9      day_of_week := TO_CHAR(test_date,&amp;quot;Dy&amp;quot;);&lt;br /&gt;
 10&lt;br /&gt;
 11      IF day_of_week IN (&amp;quot;Sat&amp;quot;,&amp;quot;Sun&amp;quot;) THEN&lt;br /&gt;
 12        DBMS_OUTPUT.PUT_LINE(TO_CHAR(test_date,&amp;quot;dd-Mon-yyyy&amp;quot;)|| &amp;quot;     A long weekend!&amp;quot;);&lt;br /&gt;
 13      ELSE&lt;br /&gt;
 14        DBMS_OUTPUT.PUT_LINE(TO_CHAR(test_date,&amp;quot;dd-Mon-yyyy&amp;quot;)|| &amp;quot; Not a long weekend.&amp;quot;);&lt;br /&gt;
 15      END IF;&lt;br /&gt;
 16      test_date := ADD_MONTHS(test_date,12);&lt;br /&gt;
 17    END LOOP;&lt;br /&gt;
 18  END;&lt;br /&gt;
 19  /&lt;br /&gt;
01-Jan-1997 Not a long weekend.&lt;br /&gt;
01-Jan-1998 Not a long weekend.&lt;br /&gt;
01-Jan-1999 Not a long weekend.&lt;br /&gt;
01-Jan-2000     A long weekend!&lt;br /&gt;
01-Jan-2001 Not a long weekend.&lt;br /&gt;
01-Jan-2002 Not a long weekend.&lt;br /&gt;
01-Jan-2003 Not a long weekend.&lt;br /&gt;
01-Jan-2004 Not a long weekend.&lt;br /&gt;
01-Jan-2005     A long weekend!&lt;br /&gt;
01-Jan-2006     A long weekend!&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using an ELSIF Statement==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create or replace function f_getDateType (in_dt DATE)&lt;br /&gt;
  2  return VARCHAR2&lt;br /&gt;
  3  is&lt;br /&gt;
  4      v_out VARCHAR2(10);&lt;br /&gt;
  5  begin&lt;br /&gt;
  6      if to_char(in_dt,&amp;quot;MMDD&amp;quot;) in (&amp;quot;0101&amp;quot;,&amp;quot;0704&amp;quot;) then&lt;br /&gt;
  7          v_out:=&amp;quot;HOLIDAY&amp;quot;;&lt;br /&gt;
  8      elsif to_char(in_dt,&amp;quot;d&amp;quot;) = 1 then&lt;br /&gt;
  9          v_out:=&amp;quot;SUNDAY&amp;quot;;&lt;br /&gt;
 10      elsif to_char(in_dt,&amp;quot;d&amp;quot;) = 7 then&lt;br /&gt;
 11          v_out:=&amp;quot;SATURDAY&amp;quot;;&lt;br /&gt;
 12      else&lt;br /&gt;
 13          v_out:=&amp;quot;WEEKDAY&amp;quot;;&lt;br /&gt;
 14      end if;&lt;br /&gt;
 15      return v_out;&lt;br /&gt;
 16  end;&lt;br /&gt;
 17  /&lt;br /&gt;
Function created.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>