﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Steven Feuerstein's Blog</title>
    <description>&lt;table cellspacing="1" cellpadding="1"&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;&lt;img height="183" alt="" width="139" src="/Portals/0/Blog/blog-steven-feuerstein.png" /&gt;&lt;/td&gt;
            &lt;td valign="top"&gt;Steven Feuerstein is considered one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL (all published by O'Reilly Media, including Oracle PL/SQL Programming. Steven has been developing software since 1980, spent five years with Oracle (1987-1992) and has served as PL/SQL Evangelist for Quest Software since January 2001. He is also an Oracle ACE Director. He writes regularly for Oracle Magazine, which named him the PL/SQL Developer of the Year in both 2002 and 2006.
            &lt;p&gt;&amp;#160;Steven's blog provides advice and code that you can put to immediate use in your world of programming.&amp;#160;&lt;/p&gt;
            &lt;p&gt;&lt;font color="#003366" size="3"&gt;&lt;strong&gt;Recent postings on PL/SQL:&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
&lt;/table&gt;</description>
    <link>http://www.toadworld.com/BLOGS/tabid/67/BlogId/13/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>Steven Feuerstein</managingEditor>
    <webMaster>webmaster@toadworld.com</webMaster>
    <pubDate>Wed, 10 Mar 2010 21:40:14 GMT</pubDate>
    <lastBuildDate>Wed, 10 Mar 2010 21:40:14 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.2.0.15477</generator>
    <item>
      <title>Quseful #7: Kill those infinite loops!</title>
      <description>&lt;p align="left"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;I don't know about you, but I sometimes write code that (inadvertently, not on purpose) contains an infinite loop. So I run my program and Toad goes off into never-never land, with Oracle chewing up CPU cycles so intently that it is hard to connect as SYS and kill the session.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;I hate that, don't you?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Now, there are two ways to address this problem:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 0.5in; text-indent: -0.25in;" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;span style=""&gt;1.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Don't write code that contains infinite loops. Well, DUH! Of course not. I never want to do this intentionally, but of course the world (even the world of my code) does not always match my intentions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 0.5in; text-indent: -0.25in;" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;span style=""&gt;2.&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Insert "killer logic" into the loop that forces termination of the loop after an excessive number of variations. I wrote a package (loop_killer) that makes it is easy to do precisely this.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Show me the code!&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;br /&gt;
&lt;br /&gt;
I certainly won't show you &lt;em style=""&gt;all&lt;/em&gt; the code in this entry. Download full source code from this &lt;a href="http://www.oracleplsqlprogramming.com/downloads/quseful7.zip"&gt;zip file.&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Here, however, is the specification of the package:&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;CREATE&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;OR&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;REPLACE&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PACKAGE&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: olive; font-family: 'Lucida Console';"&gt;loop_killer&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;/*&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;| File name: loop_killer.pkg&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;| Overview: Simple API to make it easier to insert code inside a loop&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;span style=""&gt;           &lt;/span&gt;to check for infinite or out of control loops and kill&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;span style=""&gt;           &lt;/span&gt;them after N iterations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;span style=""&gt;           &lt;/span&gt;Raises the infinite_loop_detected exception.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;| Author(s): Steven Feuerstein&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;| Modification History:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;span style=""&gt;   &lt;/span&gt;Date&lt;span style=""&gt;          &lt;/span&gt;Who&lt;span style=""&gt;         &lt;/span&gt;What&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;|&lt;span style=""&gt;   &lt;/span&gt;23-AUG-2007&lt;span style=""&gt;   &lt;/span&gt;SF&lt;span style=""&gt;          &lt;/span&gt;Created package&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: green; font-family: 'Lucida Console';"&gt;*/&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;IS&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;e_infinite_loop_detected&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;EXCEPTION&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;c_infinite_loop_detected&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PLS_INTEGER&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;:=&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;-&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: maroon; font-family: 'Lucida Console';"&gt;20999&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PRAGMA&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;EXCEPTION_INIT&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;(&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;e_infinite_loop_detected&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;,&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;-&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: maroon; font-family: 'Lucida Console';"&gt;20999&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;);&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PROCEDURE&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;kill_after&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;(&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;max_iterations_in&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;IN&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PLS_INTEGER&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;);&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PROCEDURE&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;increment_or_kill&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;(&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;by_in&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;IN&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PLS_INTEGER&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;DEFAULT&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: maroon; font-family: 'Lucida Console';"&gt;1&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;);&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;FUNCTION&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;current_count&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;RETURN&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;PLS_INTEGER&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;END&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: olive; font-family: 'Lucida Console';"&gt;loop_killer&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: 'Lucida Console';"&gt;;&lt;/span&gt;&lt;span style="font-size: 10pt; color: blue; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;    &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoBodyText"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;How do I use it?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;The loop killer package is very straightforward:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 0.5in; text-indent: -0.25in;" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style=""&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;loop_killer.kill_after:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt; a subprogram that tells the utility the limit of iterations after which the loop should be terminated. You call this program &lt;em style=""&gt;before&lt;/em&gt; you start the loop. It sets the "kill after" limit and also sets the internal counter to 1.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 0.5in; text-indent: -0.25in;" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style=""&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;loop_killer.increment_or_kill&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;: call this subprogram inside your loop. It will either increment the counter or kill the loop if the increment has met the "kill after" value you provided earlier.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 0.5in; text-indent: -0.25in;" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style=""&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;loop_killer.current_count:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt; returns the current count in the iterations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Things to keep in mind:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;The loop is terminated by raising the loop_killer.&lt;span style="background: white none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;e_infinite_loop_detected&lt;/span&gt; exception, which has the error code -20,999. You will also see a message displayed on your screen, as you will see below in the example.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Here is an example of using loop_killer to terminate a truly infinite loop:&lt;/span&gt;&lt;/p&gt;
&lt;p align="center" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;img width="553" height="330" src="http://www.toadworld.com/Portals/0/blogimages/Quseful7.JPG" alt="" /&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="left" class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;o:p&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Here's the DBMS_OUTPUT text from the termination:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;st1:place w:st="on"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;Loop&lt;/span&gt;&lt;/st1:place&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt; killer failure: Your loop exceeded 100 iterations.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;Call stack below shows location of problem:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;----- PL/SQL Call Stack -----&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;  &lt;/span&gt;object&lt;span style=""&gt;      &lt;/span&gt;line&lt;span style=""&gt;  &lt;/span&gt;object&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;  &lt;/span&gt;handle&lt;span style=""&gt;    &lt;/span&gt;number&lt;span style=""&gt;  &lt;/span&gt;name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;26D69C20&lt;span style=""&gt;        &lt;/span&gt;29&lt;span style=""&gt;  &lt;/span&gt;package body QCTO1600_NEW.LOOP_KILLER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-family: 'Lucida Console';"&gt;26F1C63C&lt;span style=""&gt;         &lt;/span&gt;6&lt;span style=""&gt;  &lt;/span&gt;anonymous block&lt;/span&gt;&lt;span style="font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Tahoma;"&gt;Here's the code, in case you want to try it yourself:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;BEGIN&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: olive; font-family: Courier;"&gt;loop_killer&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier;"&gt;kill_after&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;(&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: maroon; font-family: Courier;"&gt;100&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;);&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;st1:place w:st="on"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;LOOP&lt;/span&gt;&lt;/strong&gt;&lt;/st1:place&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier;"&gt;DBMS_OUTPUT.put_line&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;(&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: olive; font-family: Courier;"&gt;loop_killer&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier;"&gt;current_count&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;);&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: olive; font-family: Courier;"&gt;loop_killer&lt;/span&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;.&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: Courier;"&gt;increment_or_kill&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;END&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;st1:place w:st="on"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;LOOP&lt;/span&gt;&lt;/strong&gt;&lt;/st1:place&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;END&lt;/span&gt;&lt;/strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;;&lt;/span&gt;&lt;strong&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 11pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: black; font-family: 'Lucida Console';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin: 0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="background: white none repeat scroll 0%; font-size: 10pt; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; color: blue; font-family: Courier;"&gt;/&lt;/span&gt;&lt;/p&gt;</description>
      <link>http://www.toadworld.com/BLOGS/tabid/67/EntryID/118/Default.aspx</link>
      <author>Steven Feuerstein</author>
      <comments>http://www.toadworld.com/BLOGS/tabid/67/EntryID/118/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.toadworld.com/Default.aspx?tabid=67&amp;EntryID=118</guid>
      <pubDate>Wed, 29 Aug 2007 19:42:00 GMT</pubDate>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.toadworld.com/DesktopModules/Blog/Trackback.aspx?id=118</trackback:ping>
    </item>
  </channel>
</rss>