<?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%2FWhile_Loop</id>
		<title>Oracle PL/SQL/PL SQL/While Loop - История изменений</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%2FWhile_Loop"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/While_Loop&amp;action=history"/>
		<updated>2026-04-04T05:30:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL/PL_SQL/While_Loop&amp;diff=1929&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/While_Loop&amp;diff=1929&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/While_Loop&amp;diff=1930&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/While_Loop&amp;diff=1930&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:38Z</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;==Call EXIT to jump out of a while loop==&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_Radius NUMBER := 2;&lt;br /&gt;
  3     BEGIN&lt;br /&gt;
  4         WHILE TRUE LOOP&lt;br /&gt;
  5              DBMS_OUTPUT.PUT_LINE(&amp;quot;The Area is &amp;quot; || v_Radius * v_Radius);&lt;br /&gt;
  6              IF v_Radius = 10 THEN&lt;br /&gt;
  7                  EXIT;&lt;br /&gt;
  8              END IF;&lt;br /&gt;
  9             v_Radius := v_Radius + 2 ; -- Calculates Area for Even Radius&lt;br /&gt;
 10        END LOOP;&lt;br /&gt;
 11    END;&lt;br /&gt;
 12    /&lt;br /&gt;
The Area is 4&lt;br /&gt;
The Area is 16&lt;br /&gt;
The Area is 36&lt;br /&gt;
The Area is 64&lt;br /&gt;
The Area is 100&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;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;
==Change while loop counter==&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; set serverout on;&lt;br /&gt;
SQL&amp;gt; -- while loop&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;  declare&lt;br /&gt;
  2      loops number := 0;&lt;br /&gt;
  3    begin&lt;br /&gt;
  4      dbms_output.put_line(&amp;quot;Before my loop&amp;quot;);&lt;br /&gt;
  5&lt;br /&gt;
  6      while loops &amp;lt; 5 loop&lt;br /&gt;
  7        dbms_output.put_line(&amp;quot;Looped &amp;quot; || loops || &amp;quot; times&amp;quot;);&lt;br /&gt;
  8        loops := loops + 1;&lt;br /&gt;
  9      end loop;&lt;br /&gt;
 10&lt;br /&gt;
 11      dbms_output.put_line(&amp;quot;After my loop&amp;quot;);&lt;br /&gt;
 12    end;&lt;br /&gt;
 13    /&lt;br /&gt;
Before my loop&lt;br /&gt;
Looped 0 times&lt;br /&gt;
Looped 1 times&lt;br /&gt;
Looped 2 times&lt;br /&gt;
Looped 3 times&lt;br /&gt;
Looped 4 times&lt;br /&gt;
After my loop&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==Corrected WHILE loop that executes==&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; -- Corrected WHILE loop that executes.&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; DECLARE&lt;br /&gt;
  2        c NUMBER := 0;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4       WHILE c &amp;lt;= 10 LOOP&lt;br /&gt;
  5             c := c + 1;&lt;br /&gt;
  6             DBMS_OUTPUT.PUT_LINE(&amp;quot;The value of c is &amp;quot; || c);&lt;br /&gt;
  7       END LOOP;&lt;br /&gt;
  8  END;&lt;br /&gt;
  9  /&lt;br /&gt;
The value of c is 1&lt;br /&gt;
The value of c is 2&lt;br /&gt;
The value of c is 3&lt;br /&gt;
The value of c is 4&lt;br /&gt;
The value of c is 5&lt;br /&gt;
The value of c is 6&lt;br /&gt;
The value of c is 7&lt;br /&gt;
The value of c is 8&lt;br /&gt;
The value of c is 9&lt;br /&gt;
The value of c is 10&lt;br /&gt;
The value of c is 11&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==Do calculation with while loop counter==&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_Radius NUMBER := 2;&lt;br /&gt;
  3     BEGIN&lt;br /&gt;
  4         WHILE v_Radius &amp;lt;=10 LOOP&lt;br /&gt;
  5              DBMS_OUTPUT.PUT_LINE(&amp;quot;The Area is &amp;quot; || v_Radius * v_Radius);&lt;br /&gt;
  6              v_Radius := v_Radius + 2 ; -- Calculates Area for Even Radius&lt;br /&gt;
  7         END LOOP;&lt;br /&gt;
  8     END;&lt;br /&gt;
  9    /&lt;br /&gt;
The Area is 4&lt;br /&gt;
The Area is 16&lt;br /&gt;
The Area is 36&lt;br /&gt;
The Area is 64&lt;br /&gt;
The Area is 100&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;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;
==Example of a WHILE loop that never executes==&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; -- Example of a WHILE loop that never executes.&lt;br /&gt;
SQL&amp;gt; set serveroutput on;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2         c NUMBER := 0;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4        DBMS_OUTPUT.PUT_LINE(&amp;quot;The value of variable_Calc is &amp;quot; || c);&lt;br /&gt;
  5        WHILE c &amp;gt;= 10 LOOP&lt;br /&gt;
  6            c := c + 1;&lt;br /&gt;
  7            DBMS_OUTPUT.PUT_LINE(&amp;quot;The value of variable_Calc is &amp;quot; || c);&lt;br /&gt;
  8       END LOOP;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
The value of variable_Calc is 0&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==Insert value in while loop==&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; create table supplier(&lt;br /&gt;
  2          supplier_no             integer           primary key&lt;br /&gt;
  3          ,supplier_name          varchar2(50)&lt;br /&gt;
  4          ,address                varchar(30)&lt;br /&gt;
  5          ,city                   varchar(20)&lt;br /&gt;
  6          ,state                  varchar2(2)&lt;br /&gt;
  7          ,area_code              varchar2(3)&lt;br /&gt;
  8          ,phone                  varchar2(8)&lt;br /&gt;
  9  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2     v_ctr   number := 2 ;&lt;br /&gt;
  3     v_prod_ctr number := 3 ;&lt;br /&gt;
  4     v_loop  number := 1;&lt;br /&gt;
  5&lt;br /&gt;
  6     v_curr_supplier supplier.supplier_no%TYPE ;&lt;br /&gt;
  7  begin&lt;br /&gt;
  8     WHILE v_loop &amp;lt;= v_ctr LOOP&lt;br /&gt;
  9             INSERT INTO supplier (SUPPLIER_NO, SUPPLIER_NAME)VALUES (v_loop+999, &amp;quot;#&amp;quot;||v_loop);&lt;br /&gt;
 10             v_loop := v_loop + 1 ;&lt;br /&gt;
 11     END LOOP;&lt;br /&gt;
 12     COMMIT;&lt;br /&gt;
 13  end;&lt;br /&gt;
 14  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from supplier;&lt;br /&gt;
SUPPLIER_NO SUPPLIER_NAME                                      ADDRESS                        CITY         ST ARE PHONE&lt;br /&gt;
----------- -------------------------------------------------- ------------------------------ -------------------- -- --- --------&lt;br /&gt;
       1000 #1&lt;br /&gt;
       1001 #2&lt;br /&gt;
2 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table supplier;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;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;
==Put two statement in while loop==&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_Calc NUMBER := 0;&lt;br /&gt;
  3     BEGIN&lt;br /&gt;
  4          WHILE v_Calc &amp;lt;= 10 LOOP&lt;br /&gt;
  5               v_Calc := v_Calc + 1;&lt;br /&gt;
  6               DBMS_OUTPUT.PUT_LINE(&amp;quot;The value of v_Calc is &amp;quot; || v_Calc);&lt;br /&gt;
  7          END LOOP;&lt;br /&gt;
  8     END;&lt;br /&gt;
  9     /&lt;br /&gt;
The value of v_Calc is 1&lt;br /&gt;
The value of v_Calc is 2&lt;br /&gt;
The value of v_Calc is 3&lt;br /&gt;
The value of v_Calc is 4&lt;br /&gt;
The value of v_Calc is 5&lt;br /&gt;
The value of v_Calc is 6&lt;br /&gt;
The value of v_Calc is 7&lt;br /&gt;
The value of v_Calc is 8&lt;br /&gt;
The value of v_Calc is 9&lt;br /&gt;
The value of v_Calc is 10&lt;br /&gt;
The value of v_Calc is 11&lt;br /&gt;
PL/SQL procedure successfully completed.&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; --&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;
==The WHILE loop uses a loop index value as its gate on entry criterion:==&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    counter NUMBER := 1;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    WHILE (counter &amp;lt; 5) LOOP&lt;br /&gt;
  5      dbms_output.put_line(&amp;quot;Index [&amp;quot;||counter||&amp;quot;].&amp;quot;);&lt;br /&gt;
  6      IF counter &amp;gt;= 1 THEN&lt;br /&gt;
  7        counter := counter + 1;&lt;br /&gt;
  8      END IF;&lt;br /&gt;
  9    END LOOP;&lt;br /&gt;
 10  END;&lt;br /&gt;
 11  /&lt;br /&gt;
Index [1].&lt;br /&gt;
Index [2].&lt;br /&gt;
Index [3].&lt;br /&gt;
Index [4].&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==This script demonstrates variable visibility==&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; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2     visibleValue VARCHAR2(30);&lt;br /&gt;
  3     hiddenValue VARCHAR2(30);&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5     visibleValue := &amp;quot;visible&amp;quot;;&lt;br /&gt;
  6     hiddenValue := &amp;quot;hidden&amp;quot;;&lt;br /&gt;
  7&lt;br /&gt;
  8     DBMS_OUTPUT.PUT_LINE(&amp;quot;OUTER BLOCK&amp;quot;);&lt;br /&gt;
  9     DBMS_OUTPUT.PUT_LINE(visibleValue);&lt;br /&gt;
 10     DBMS_OUTPUT.PUT_LINE(hiddenValue);&lt;br /&gt;
 11&lt;br /&gt;
 12     DECLARE&lt;br /&gt;
 13        hiddenValue NUMBER(10);&lt;br /&gt;
 14     BEGIN&lt;br /&gt;
 15        DBMS_OUTPUT.PUT_LINE(&amp;quot;INNER BLOCK&amp;quot;);&lt;br /&gt;
 16        hiddenValue := &amp;quot;inner hiddenValue&amp;quot;;&lt;br /&gt;
 17        DBMS_OUTPUT.PUT_LINE(hiddenValue);&lt;br /&gt;
 18     EXCEPTION&lt;br /&gt;
 19        WHEN OTHERS&lt;br /&gt;
 20        THEN&lt;br /&gt;
 21           DBMS_OUTPUT.PUT_LINE(&amp;quot;hiddenValue of type VARCHAR2 was...hidden&amp;quot;);&lt;br /&gt;
 22     END;&lt;br /&gt;
 23  END;&lt;br /&gt;
 24  /&lt;br /&gt;
OUTER BLOCK&lt;br /&gt;
visible&lt;br /&gt;
hidden&lt;br /&gt;
INNER BLOCK&lt;br /&gt;
hiddenValue of type VARCHAR2 was...hidden&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==Use EXIT WHEN to exit a while loop==&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_Radius NUMBER := 2;&lt;br /&gt;
  3     BEGIN&lt;br /&gt;
  4         WHILE TRUE LOOP&lt;br /&gt;
  5              DBMS_OUTPUT.PUT_LINE(&amp;quot;The Area is &amp;quot; ||v_Radius * v_Radius);&lt;br /&gt;
  6              EXIT WHEN v_RADIUS = 10;&lt;br /&gt;
  7              v_Radius := v_Radius + 2 ; -- Calculates Area for Even Radius&lt;br /&gt;
  8         END LOOP;&lt;br /&gt;
  9    END;&lt;br /&gt;
 10    /&lt;br /&gt;
The Area is 4&lt;br /&gt;
The Area is 16&lt;br /&gt;
The Area is 36&lt;br /&gt;
The Area is 64&lt;br /&gt;
The Area is 100&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;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==WHILE Loop==&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_count PLS_INTEGER := 1;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4     WHILE v_count &amp;lt;= 20&lt;br /&gt;
  5     LOOP&lt;br /&gt;
  6        DBMS_OUTPUT.PUT_LINE(&amp;quot;While loop iteration: &amp;quot;||v_count);&lt;br /&gt;
  7        v_count := v_count + 1;&lt;br /&gt;
  8     END LOOP;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
While loop iteration: 1&lt;br /&gt;
While loop iteration: 2&lt;br /&gt;
While loop iteration: 3&lt;br /&gt;
While loop iteration: 4&lt;br /&gt;
While loop iteration: 5&lt;br /&gt;
While loop iteration: 6&lt;br /&gt;
While loop iteration: 7&lt;br /&gt;
While loop iteration: 8&lt;br /&gt;
While loop iteration: 9&lt;br /&gt;
While loop iteration: 10&lt;br /&gt;
While loop iteration: 11&lt;br /&gt;
While loop iteration: 12&lt;br /&gt;
While loop iteration: 13&lt;br /&gt;
While loop iteration: 14&lt;br /&gt;
While loop iteration: 15&lt;br /&gt;
While loop iteration: 16&lt;br /&gt;
While loop iteration: 17&lt;br /&gt;
While loop iteration: 18&lt;br /&gt;
While loop iteration: 19&lt;br /&gt;
While loop iteration: 20&lt;br /&gt;
PL/SQL procedure successfully completed.&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;
==While loop and number counter==&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 demo table&lt;br /&gt;
SQL&amp;gt; create table emp(&lt;br /&gt;
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,&lt;br /&gt;
  3    fname         VARCHAR2(10 BYTE),&lt;br /&gt;
  4    lname          VARCHAR2(10 BYTE),&lt;br /&gt;
  5    Start_Date         DATE,&lt;br /&gt;
  6    End_Date           DATE,&lt;br /&gt;
  7    Salary             Number(8,2),&lt;br /&gt;
  8    City               VARCHAR2(10 BYTE),&lt;br /&gt;
  9    Description        VARCHAR2(15 BYTE)&lt;br /&gt;
 10  )&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;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into emp(ID,  fname, lname, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2               values (&amp;quot;01&amp;quot;,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20060725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp(ID,  fname, lname, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;02&amp;quot;,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;, to_date(&amp;quot;19760321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19860221&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; declare&lt;br /&gt;
  2    s Number(8,2);&lt;br /&gt;
  3    totalValue Number(8,2);&lt;br /&gt;
  4    begin&lt;br /&gt;
  5         WHILE totalValue &amp;lt; 100 LOOP&lt;br /&gt;
  6              Select salary into s from emp;&lt;br /&gt;
  7              totalValue := totalValue + s;&lt;br /&gt;
  8         END LOOP;&lt;br /&gt;
  9&lt;br /&gt;
 10         dbms_output.put_line(totalValue);&lt;br /&gt;
 11  end;&lt;br /&gt;
 12  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&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;
==WHILE..LOOP, Cursor Loop==&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; 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; CREATE TABLE myStudent (&lt;br /&gt;
  2    student_id NUMBER(5) NOT NULL,&lt;br /&gt;
  3    department CHAR(3)   NOT NULL,&lt;br /&gt;
  4    course     NUMBER(3) NOT NULL,&lt;br /&gt;
  5    grade      CHAR(1)&lt;br /&gt;
  6    );&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;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10000, &amp;quot;CS&amp;quot;, 102, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10002, &amp;quot;CS&amp;quot;, 102, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10003, &amp;quot;CS&amp;quot;, 102, &amp;quot;C&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10000, &amp;quot;HIS&amp;quot;, 101, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10001, &amp;quot;HIS&amp;quot;, 101, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10002, &amp;quot;HIS&amp;quot;, 101, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10003, &amp;quot;HIS&amp;quot;, 101, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10004, &amp;quot;HIS&amp;quot;, 101, &amp;quot;C&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10005, &amp;quot;HIS&amp;quot;, 101, &amp;quot;C&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10006, &amp;quot;HIS&amp;quot;, 101, &amp;quot;E&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10007, &amp;quot;HIS&amp;quot;, 101, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10008, &amp;quot;HIS&amp;quot;, 101, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10009, &amp;quot;HIS&amp;quot;, 101, &amp;quot;D&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10010, &amp;quot;HIS&amp;quot;, 101, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10008, &amp;quot;NUT&amp;quot;, 307, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10010, &amp;quot;NUT&amp;quot;, 307, &amp;quot;A&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10009, &amp;quot;MUS&amp;quot;, 410, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10006, &amp;quot;MUS&amp;quot;, 410, &amp;quot;E&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10011, &amp;quot;MUS&amp;quot;, 410, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO myStudent (student_id, department, course, grade)&lt;br /&gt;
  2                           VALUES (10000, &amp;quot;MUS&amp;quot;, 410, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE MyTable (&lt;br /&gt;
  2    num_col    NUMBER,&lt;br /&gt;
  3    char_col   VARCHAR2(60)&lt;br /&gt;
  4    );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    CURSOR myHistoryLecturer IS&lt;br /&gt;
  3      SELECT id, first_name, last_name&lt;br /&gt;
  4        FROM lecturer&lt;br /&gt;
  5        WHERE major = &amp;quot;History&amp;quot;;&lt;br /&gt;
  6&lt;br /&gt;
  7    myLecturerData  myHistoryLecturer%ROWTYPE;&lt;br /&gt;
  8  BEGIN&lt;br /&gt;
  9    OPEN myHistoryLecturer;&lt;br /&gt;
 10    FETCH myHistoryLecturer INTO myLecturerData;&lt;br /&gt;
 11&lt;br /&gt;
 12    WHILE myHistoryLecturer%FOUND LOOP&lt;br /&gt;
 13      INSERT INTO myStudent (student_id, department, course)&lt;br /&gt;
 14        VALUES (myLecturerData.ID, &amp;quot;HIS&amp;quot;, 101);&lt;br /&gt;
 15&lt;br /&gt;
 16      INSERT INTO MyTable (num_col, char_col)&lt;br /&gt;
 17        VALUES (myLecturerData.ID,&lt;br /&gt;
 18                myLecturerData.first_name || &amp;quot; &amp;quot; || myLecturerData.last_name);&lt;br /&gt;
 19&lt;br /&gt;
 20      FETCH myHistoryLecturer INTO myLecturerData;&lt;br /&gt;
 21    END LOOP;&lt;br /&gt;
 22&lt;br /&gt;
 23    CLOSE myHistoryLecturer;&lt;br /&gt;
 24&lt;br /&gt;
 25    COMMIT;&lt;br /&gt;
 26  END;&lt;br /&gt;
 27  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from MyTable;&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
     10002 Mar Wells&lt;br /&gt;
     10005 Pat Poll&lt;br /&gt;
     10006 Tim Viper&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table myStudent;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table lecturer;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table MyTable;&lt;br /&gt;
Table dropped.&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;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==WHILE Loop: Test the loop counter before each loop iteration to insure that it is still less than 50==&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 MyTable (&lt;br /&gt;
  2    num_col    NUMBER,&lt;br /&gt;
  3    char_col   VARCHAR2(60)&lt;br /&gt;
  4    );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_Counter BINARY_INTEGER := 1;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    WHILE v_Counter &amp;lt;= 50 LOOP&lt;br /&gt;
  5      INSERT INTO MyTable&lt;br /&gt;
  6        VALUES (v_Counter, &amp;quot;Loop index&amp;quot;);&lt;br /&gt;
  7      v_Counter := v_Counter + 1;&lt;br /&gt;
  8    END LOOP;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from MyTable;&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
         1 Loop index&lt;br /&gt;
         2 Loop index&lt;br /&gt;
         3 Loop index&lt;br /&gt;
         4 Loop index&lt;br /&gt;
         5 Loop index&lt;br /&gt;
         6 Loop index&lt;br /&gt;
         7 Loop index&lt;br /&gt;
         8 Loop index&lt;br /&gt;
         9 Loop index&lt;br /&gt;
        10 Loop index&lt;br /&gt;
        11 Loop index&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
        12 Loop index&lt;br /&gt;
        13 Loop index&lt;br /&gt;
        14 Loop index&lt;br /&gt;
        15 Loop index&lt;br /&gt;
        16 Loop index&lt;br /&gt;
        17 Loop index&lt;br /&gt;
        18 Loop index&lt;br /&gt;
        19 Loop index&lt;br /&gt;
        20 Loop index&lt;br /&gt;
        21 Loop index&lt;br /&gt;
        22 Loop index&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
        23 Loop index&lt;br /&gt;
        24 Loop index&lt;br /&gt;
        25 Loop index&lt;br /&gt;
        26 Loop index&lt;br /&gt;
        27 Loop index&lt;br /&gt;
        28 Loop index&lt;br /&gt;
        29 Loop index&lt;br /&gt;
        30 Loop index&lt;br /&gt;
        31 Loop index&lt;br /&gt;
        32 Loop index&lt;br /&gt;
        33 Loop index&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
        34 Loop index&lt;br /&gt;
        35 Loop index&lt;br /&gt;
        36 Loop index&lt;br /&gt;
        37 Loop index&lt;br /&gt;
        38 Loop index&lt;br /&gt;
        39 Loop index&lt;br /&gt;
        40 Loop index&lt;br /&gt;
        41 Loop index&lt;br /&gt;
        42 Loop index&lt;br /&gt;
        43 Loop index&lt;br /&gt;
        44 Loop index&lt;br /&gt;
   NUM_COL CHAR_COL&lt;br /&gt;
---------- ------------------------------------------------------------&lt;br /&gt;
        45 Loop index&lt;br /&gt;
        46 Loop index&lt;br /&gt;
        47 Loop index&lt;br /&gt;
        48 Loop index&lt;br /&gt;
        49 Loop index&lt;br /&gt;
        50 Loop index&lt;br /&gt;
50 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table MyTable;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;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;
==WHILE Loop: This condition will evaluate to NULL, since v_Counter is initialized to NULL by default==&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; CREATE TABLE MyTable (&lt;br /&gt;
  2    num_col    NUMBER,&lt;br /&gt;
  3    char_col   VARCHAR2(60)&lt;br /&gt;
  4    );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    v_Counter BINARY_INTEGER;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4    WHILE v_Counter &amp;lt;= 50 LOOP&lt;br /&gt;
  5      INSERT INTO MyTable&lt;br /&gt;
  6        VALUES (v_Counter, &amp;quot;Loop index&amp;quot;);&lt;br /&gt;
  7      v_Counter := v_Counter + 1;&lt;br /&gt;
  8    END LOOP;&lt;br /&gt;
  9  END;&lt;br /&gt;
 10  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from MyTable;&lt;br /&gt;
no rows selected&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table MyTable;&lt;br /&gt;
Table dropped.&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;
==While loop with complex 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;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --While loop with conditions&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; DECLARE&lt;br /&gt;
  2     counter NUMBER(2):= 1;&lt;br /&gt;
  3     counter2 NUMBER(2):= 1;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5     WHILE counter &amp;lt;= 12 AND counter2 &amp;lt;= 14 LOOP&lt;br /&gt;
  6           counter :=  counter + 1;&lt;br /&gt;
  7           counter2 :=  counter2 + 1;&lt;br /&gt;
  8     END LOOP;&lt;br /&gt;
  9     DBMS_OUTPUT.PUT_LINE(&amp;quot;counter2:&amp;quot;||counter2);&lt;br /&gt;
 10     DBMS_OUTPUT.PUT_LINE(&amp;quot;counter:&amp;quot;||counter);&lt;br /&gt;
 11  END;&lt;br /&gt;
 12  /&lt;br /&gt;
counter2:13&lt;br /&gt;
counter:13&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;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==While Loop with condition==&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; SET SERVEROUTPUT ON&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2      counter INTEGER := 2;&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4&lt;br /&gt;
  5&lt;br /&gt;
  6      counter := 0;&lt;br /&gt;
  7      WHILE counter &amp;lt; 6 LOOP&lt;br /&gt;
  8        counter := counter + 1;&lt;br /&gt;
  9        DBMS_OUTPUT.PUT_LINE(counter);&lt;br /&gt;
 10      END LOOP;&lt;br /&gt;
 11  END;&lt;br /&gt;
 12  /&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
PL/SQL procedure successfully completed.&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>