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

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/Case&amp;diff=1845&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/Case&amp;diff=1845&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:19Z</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://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/Case&amp;diff=1846&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/Case&amp;diff=1846&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:11Z</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;==Case conditions==&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;
 &lt;br /&gt;
set echo on;&lt;br /&gt;
set verify off;&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;;&lt;br /&gt;
prompt &amp;quot;Input degree (numerically in degrees F)?:&amp;quot;;&lt;br /&gt;
/&lt;br /&gt;
accept temp default &amp;quot;100&amp;quot;;&lt;br /&gt;
/&lt;br /&gt;
declare&lt;br /&gt;
  too_hot  exception;&lt;br /&gt;
  too_cold exception;&lt;br /&gt;
begin&lt;br /&gt;
  case&lt;br /&gt;
    when &amp;quot;&amp;amp;temp&amp;quot; &amp;lt; 90.00 then raise too_cold;&lt;br /&gt;
    when &amp;quot;&amp;amp;temp&amp;quot; &amp;gt; 140.00 then raise too_hot;&lt;br /&gt;
    else null;&lt;br /&gt;
  end case;&lt;br /&gt;
  dbms_output.put_line(&amp;quot;The temperature is just right&amp;quot;);&lt;br /&gt;
exception&lt;br /&gt;
  when VALUE_ERROR then&lt;br /&gt;
    dbms_output.put_line(&amp;quot;Please enter a numeric temperature (like 100)&amp;quot;);&lt;br /&gt;
  when too_hot then&lt;br /&gt;
    dbms_output.put_line(&amp;quot;The porridge is way too hot...&amp;quot;);&lt;br /&gt;
  when too_cold then&lt;br /&gt;
    dbms_output.put_line(&amp;quot;The porridge is way too cold...&amp;quot;);&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CASE not found while executing CASE 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;
  &lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_TestVar NUMBER := 1;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    CASE v_TestVar&lt;br /&gt;
  5      WHEN 2 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Two!&amp;quot;);&lt;br /&gt;
  6      WHEN 3 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Three!&amp;quot;);&lt;br /&gt;
  7      WHEN 4 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Four!&amp;quot;);&lt;br /&gt;
  8    END CASE;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
DECLARE&lt;br /&gt;
*&lt;br /&gt;
ERROR at line 1:&lt;br /&gt;
ORA-06592: CASE not found while executing CASE statement&lt;br /&gt;
ORA-06512: at line 4&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CASE WHEN statement with 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;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE lecturer (&lt;br /&gt;
  2    id               NUMBER(5) PRIMARY KEY,&lt;br /&gt;
  3    first_name       VARCHAR2(20),&lt;br /&gt;
  4    last_name        VARCHAR2(20),&lt;br /&gt;
  5    major            VARCHAR2(30),&lt;br /&gt;
  6    current_credits  NUMBER(3)&lt;br /&gt;
  7    );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10001, &amp;quot;Scott&amp;quot;, &amp;quot;Lawson&amp;quot;,&amp;quot;Computer Science&amp;quot;, 11);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major, current_credits)&lt;br /&gt;
  2                VALUES (10002, &amp;quot;Mar&amp;quot;, &amp;quot;Wells&amp;quot;,&amp;quot;History&amp;quot;, 4);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10003, &amp;quot;Jone&amp;quot;, &amp;quot;Bliss&amp;quot;,&amp;quot;Computer Science&amp;quot;, 8);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10004, &amp;quot;Man&amp;quot;, &amp;quot;Kyte&amp;quot;,&amp;quot;Economics&amp;quot;, 8);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10005, &amp;quot;Pat&amp;quot;, &amp;quot;Poll&amp;quot;,&amp;quot;History&amp;quot;, 4);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10006, &amp;quot;Tim&amp;quot;, &amp;quot;Viper&amp;quot;,&amp;quot;History&amp;quot;, 4);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10007, &amp;quot;Barbara&amp;quot;, &amp;quot;Blues&amp;quot;,&amp;quot;Economics&amp;quot;, 7);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10008, &amp;quot;David&amp;quot;, &amp;quot;Large&amp;quot;,&amp;quot;Music&amp;quot;, 4);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10009, &amp;quot;Chris&amp;quot;, &amp;quot;Elegant&amp;quot;,&amp;quot;Nutrition&amp;quot;, 8);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10010, &amp;quot;Rose&amp;quot;, &amp;quot;Bond&amp;quot;,&amp;quot;Music&amp;quot;, 7);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10011, &amp;quot;Rita&amp;quot;, &amp;quot;Johnson&amp;quot;,&amp;quot;Nutrition&amp;quot;, 8);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO lecturer (id, first_name, last_name, major,current_credits)&lt;br /&gt;
  2                VALUES (10012, &amp;quot;Sharon&amp;quot;, &amp;quot;Clear&amp;quot;,&amp;quot;Computer Science&amp;quot;, 3);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from lecturer;&lt;br /&gt;
      ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS&lt;br /&gt;
-------- -------------------- -------------------- ------------------------------ ---------------&lt;br /&gt;
######## Scott                Lawson               Computer Science                         11.00&lt;br /&gt;
######## Mar                  Wells                History                                   4.00&lt;br /&gt;
######## Jone                 Bliss                Computer Science                          8.00&lt;br /&gt;
######## Man                  Kyte                 Economics                                 8.00&lt;br /&gt;
######## Pat                  Poll                 History                                   4.00&lt;br /&gt;
######## Tim                  Viper                History                                   4.00&lt;br /&gt;
######## Barbara              Blues                Economics                                 7.00&lt;br /&gt;
######## David                Large                Music                                     4.00&lt;br /&gt;
######## Chris                Elegant              Nutrition                                 8.00&lt;br /&gt;
######## Rose                 Bond                 Music                                     7.00&lt;br /&gt;
######## Rita                 Johnson              Nutrition                                 8.00&lt;br /&gt;
      ID FIRST_NAME           LAST_NAME            MAJOR                          CURRENT_CREDITS&lt;br /&gt;
-------- -------------------- -------------------- ------------------------------ ---------------&lt;br /&gt;
######## Sharon               Clear                Computer Science                          3.00&lt;br /&gt;
12 rows selected.&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_Major lecturer.major%TYPE;&lt;br /&gt;
  3    v_CourseName VARCHAR2(10);&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    SELECT major&lt;br /&gt;
  6      INTO v_Major&lt;br /&gt;
  7      FROM lecturer&lt;br /&gt;
  8      WHERE ID = 10011;&lt;br /&gt;
  9&lt;br /&gt;
 10    CASE v_Major&lt;br /&gt;
 11      WHEN &amp;quot;Computer Science&amp;quot; THEN&lt;br /&gt;
 12        v_CourseName := &amp;quot;CS  101&amp;quot;;&lt;br /&gt;
 13      WHEN &amp;quot;Economics&amp;quot; THEN&lt;br /&gt;
 14        v_CourseName :=&amp;quot;ECN 203&amp;quot;;&lt;br /&gt;
 15      WHEN &amp;quot;History&amp;quot; THEN&lt;br /&gt;
 16        v_CourseName := &amp;quot;HIS 101&amp;quot;;&lt;br /&gt;
 17      WHEN &amp;quot;Music&amp;quot; THEN&lt;br /&gt;
 18        v_CourseName := &amp;quot;MUS 100&amp;quot;;&lt;br /&gt;
 19      WHEN &amp;quot;Nutrition&amp;quot; THEN&lt;br /&gt;
 20        v_CourseName := &amp;quot;NUT 307&amp;quot;;&lt;br /&gt;
 21      ELSE&lt;br /&gt;
 22        v_CourseName := &amp;quot;Unknown&amp;quot;;&lt;br /&gt;
 23    END CASE;&lt;br /&gt;
 24&lt;br /&gt;
 25    DBMS_OUTPUT.PUT_LINE(v_CourseName);&lt;br /&gt;
 26  END;&lt;br /&gt;
 27  /&lt;br /&gt;
NUT 307&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table lecturer;&lt;br /&gt;
Table dropped.&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CASE WHEN with comparison operator==&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;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_Test1 NUMBER := 2;&lt;br /&gt;
  3    v_Test2 VARCHAR2(20) := &amp;quot;Goodbye&amp;quot;;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    CASE&lt;br /&gt;
  6      WHEN v_Test1 = 1 THEN&lt;br /&gt;
  7        DBMS_OUTPUT.PUT_LINE(&amp;quot;One!&amp;quot;);&lt;br /&gt;
  8        DBMS_OUTPUT.PUT_LINE(&amp;quot;Another one!&amp;quot;);&lt;br /&gt;
  9      WHEN v_Test1 &amp;gt; 1 THEN&lt;br /&gt;
 10        DBMS_OUTPUT.PUT_LINE(&amp;quot;&amp;gt; 1!&amp;quot;);&lt;br /&gt;
 11        DBMS_OUTPUT.PUT_LINE(&amp;quot;Still &amp;gt; 1!&amp;quot;);&lt;br /&gt;
 12      WHEN v_Test2 = &amp;quot;Goodbye&amp;quot; THEN&lt;br /&gt;
 13        DBMS_OUTPUT.PUT_LINE(&amp;quot;Goodbye!&amp;quot;);&lt;br /&gt;
 14        DBMS_OUTPUT.PUT_LINE(&amp;quot;Adios!&amp;quot;);&lt;br /&gt;
 15      ELSE&lt;br /&gt;
 16        DBMS_OUTPUT.PUT_LINE(&amp;quot;No match&amp;quot;);&lt;br /&gt;
 17    END CASE;&lt;br /&gt;
 18  END;&lt;br /&gt;
 19  /&lt;br /&gt;
&amp;gt; 1!&lt;br /&gt;
Still &amp;gt; 1!&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==CASE WHEN with constant==&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;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_TestVar NUMBER := 2;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    CASE v_TestVar&lt;br /&gt;
  5      WHEN 2 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Two!&amp;quot;);&lt;br /&gt;
  6      WHEN 3 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Three!&amp;quot;);&lt;br /&gt;
  7      WHEN 4 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Four!&amp;quot;);&lt;br /&gt;
  8    END CASE;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
Two!&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Case 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;
 &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- case with else&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2    l_num number := 8;&lt;br /&gt;
  3  begin&lt;br /&gt;
  4    case l_num&lt;br /&gt;
  5      when 1 then dbms_output.put_line(&amp;quot;You selected one&amp;quot;);&lt;br /&gt;
  6      when 2 then dbms_output.put_line(&amp;quot;You selected two&amp;quot;);&lt;br /&gt;
  7      when 3 then dbms_output.put_line(&amp;quot;You selected three&amp;quot;);&lt;br /&gt;
  8      when 4 then dbms_output.put_line(&amp;quot;You selected four&amp;quot;);&lt;br /&gt;
  9      when 5 then dbms_output.put_line(&amp;quot;You selected five&amp;quot;);&lt;br /&gt;
 10      when 6 then dbms_output.put_line(&amp;quot;You selected six&amp;quot;);&lt;br /&gt;
 11      when 7 then dbms_output.put_line(&amp;quot;You selected seven&amp;quot;);&lt;br /&gt;
 12      when 8 then dbms_output.put_line(&amp;quot;You selected eight&amp;quot;);&lt;br /&gt;
 13      when 9 then dbms_output.put_line(&amp;quot;You selected nine&amp;quot;);&lt;br /&gt;
 14      when 0 then dbms_output.put_line(&amp;quot;You selected zero&amp;quot;);&lt;br /&gt;
 15      else dbms_output.put_line(&amp;quot;You selected more than one digit...&amp;quot;);&lt;br /&gt;
 16    end case;&lt;br /&gt;
 17  end;&lt;br /&gt;
 18  /&lt;br /&gt;
You selected eight&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Output discount rate based on different category==&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;
    &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; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)&lt;br /&gt;
  2             VALUES (&amp;quot;1&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;Oracle&amp;quot;, 563, 39.99, 2009, 1, 2, 3);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2)&lt;br /&gt;
  2             VALUES (&amp;quot;2&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;MySQL&amp;quot;, 765, 44.99, 2009, 4, 5);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)&lt;br /&gt;
  2             VALUES (&amp;quot;3&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;SQL Server&amp;quot;, 404, 39.99, 2001, 6, 7, 8);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)&lt;br /&gt;
  2             VALUES (&amp;quot;4&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;SQL&amp;quot;, 535, 39.99, 2002, 4, 5, 9);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2)&lt;br /&gt;
  2             VALUES (&amp;quot;5&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;Java&amp;quot;, 487, 39.99, 2002, 10, 11);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2)&lt;br /&gt;
  2             VALUES (&amp;quot;6&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;JDBC&amp;quot;, 592, 39.99, 2002, 12, 13);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO books (isbn, category, title, num_pages, price, copyright, emp1, emp2, emp3)&lt;br /&gt;
  2             VALUES (&amp;quot;7&amp;quot;, &amp;quot;Database&amp;quot;, &amp;quot;XML&amp;quot;, 500, 39.99, 2002, 1, 2, 3);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON ESCAPE OFF&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2     v_category books.category%TYPE;&lt;br /&gt;
  3     v_discount NUMBER(10,2);&lt;br /&gt;
  4     v_isbn books.isbn%TYPE := &amp;quot;3&amp;quot;;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6     SELECT category INTO v_category FROM books WHERE isbn = v_isbn;&lt;br /&gt;
  7&lt;br /&gt;
  8     CASE v_category&lt;br /&gt;
  9         WHEN &amp;quot;Database&amp;quot;&lt;br /&gt;
 10            THEN v_discount := .5;&lt;br /&gt;
 11         WHEN &amp;quot;Oracle Server&amp;quot;&lt;br /&gt;
 12            THEN v_discount := .1;&lt;br /&gt;
 13     END CASE;&lt;br /&gt;
 14     DBMS_OUTPUT.PUT_LINE(&amp;quot;The discount is &amp;quot;||v_discount*100||&amp;quot; percent&amp;quot;);&lt;br /&gt;
 15  EXCEPTION&lt;br /&gt;
 16     WHEN OTHERS&lt;br /&gt;
 17     THEN&lt;br /&gt;
 18        DBMS_OUTPUT.PUT_LINE(SQLERRM);&lt;br /&gt;
 19  END;&lt;br /&gt;
 20  /&lt;br /&gt;
The discount is 50 percent&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table books;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Simple case demo==&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;
 &lt;br /&gt;
-- read user input&lt;br /&gt;
set echo off&lt;br /&gt;
set define &amp;quot;&amp;amp;&amp;quot;&lt;br /&gt;
set verify off&lt;br /&gt;
set serveroutput on size 10000&lt;br /&gt;
prompt&lt;br /&gt;
accept NUM prompt &amp;quot;Enter a single digit number : &amp;quot;&lt;br /&gt;
prompt&lt;br /&gt;
declare&lt;br /&gt;
  l_num number := &amp;amp;NUM;&lt;br /&gt;
begin&lt;br /&gt;
  case l_num&lt;br /&gt;
    when 1 then dbms_output.put_line(&amp;quot;You selected one&amp;quot;);&lt;br /&gt;
    when 2 then dbms_output.put_line(&amp;quot;You selected two&amp;quot;);&lt;br /&gt;
    when 3 then dbms_output.put_line(&amp;quot;You selected three&amp;quot;);&lt;br /&gt;
    when 4 then dbms_output.put_line(&amp;quot;You selected four&amp;quot;);&lt;br /&gt;
    when 5 then dbms_output.put_line(&amp;quot;You selected five&amp;quot;);&lt;br /&gt;
    when 6 then dbms_output.put_line(&amp;quot;You selected six&amp;quot;);&lt;br /&gt;
    when 7 then dbms_output.put_line(&amp;quot;You selected seven&amp;quot;);&lt;br /&gt;
    when 8 then dbms_output.put_line(&amp;quot;You selected eight&amp;quot;);&lt;br /&gt;
    when 9 then dbms_output.put_line(&amp;quot;You selected nine&amp;quot;);&lt;br /&gt;
    when 0 then dbms_output.put_line(&amp;quot;You selected zero&amp;quot;);&lt;br /&gt;
  end case;&lt;br /&gt;
end;&lt;br /&gt;
/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==This CASE statement is labeled==&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;
  &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_TestVar NUMBER := 1;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    &amp;lt;&amp;lt;MyCase&amp;gt;&amp;gt;&lt;br /&gt;
  5    CASE v_TestVar&lt;br /&gt;
  6      WHEN 1 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;One!&amp;quot;);&lt;br /&gt;
  7      WHEN 2 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Two!&amp;quot;);&lt;br /&gt;
  8      WHEN 3 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Three!&amp;quot;);&lt;br /&gt;
  9      WHEN 4 THEN DBMS_OUTPUT.PUT_LINE(&amp;quot;Four!&amp;quot;);&lt;br /&gt;
 10    END CASE MyCase;&lt;br /&gt;
 11  END;&lt;br /&gt;
 12  /&lt;br /&gt;
One!&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Uses a NUMBER datatype as the selector==&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;
    &lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    selector NUMBER := 0;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    CASE selector&lt;br /&gt;
  5      WHEN 0 THEN&lt;br /&gt;
  6        dbms_output.put_line(&amp;quot;Case 0!&amp;quot;);&lt;br /&gt;
  7      WHEN 1 THEN&lt;br /&gt;
  8        dbms_output.put_line(&amp;quot;Case 1!&amp;quot;);&lt;br /&gt;
  9      ELSE&lt;br /&gt;
 10        dbms_output.put_line(&amp;quot;No match!&amp;quot;);&lt;br /&gt;
 11    END CASE;&lt;br /&gt;
 12  END;&lt;br /&gt;
 13  /&lt;br /&gt;
Case 0!&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>