<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5153312541207962254</id><updated>2011-12-27T14:45:28.914+02:00</updated><category term='Oracle Books'/><category term='Client Tools Tutorial'/><category term='my White Papers'/><category term='SQL Codes'/><category term='Oracle Magazine'/><category term='Forms'/><category term='Site Map'/><category term='PL/SQL Codes'/><title type='text'>Live ORACLE</title><subtitle type='html'>if you are Oracle Developer ,than this Blog most likely will make you happy.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default?start-index=101&amp;max-results=100'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>336</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-4319716805339370903</id><published>2010-02-20T17:58:00.001+02:00</published><updated>2010-02-20T17:59:17.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Magazine'/><title type='text'>Oracle Magazine - March/April 2010</title><content type='html'>&lt;table style="margin: 10px 0pt;" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table background="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/include/icons/nav_bg.gif" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr height="35" valign="middle"&gt;&lt;td align="left"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/" title="View March/April 2010" target="_blank"&gt;&lt;img style="margin-left: 5px; margin-right: 5px;" src="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/include/icons/navbar_logo.gif" border="0" height="28"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id="topBar" align="right"&gt;&lt;font size="1" face="Comic Sans MS,Arial,Helvetica"&gt;Look Inside &amp;gt;&amp;gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" border="0" cellpadding="0" cellspacing="0" width="240px"&gt;&lt;tbody&gt;&lt;tr id="snippetThumbs" align="center"&gt;&lt;td align="right"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/?pg=1" target="_blank" onclick="name='w'+Math.round(Math.random()*(1000));w=screen.width-10;h=screen.height-40;window.open('http://www.oraclemagazine-digital.com/oraclemagazine/20100304/?pg=1',name,'toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=0,top=0,width='+w+'height='+h);return false;" title="View Magazine"&gt;&lt;img src="http://www.oraclemagazine-digital.com/tcprojects/oracle/oraclemagazine/inbox/72614/imgpages/tn/oracle20100304_0001.gif" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td align="left"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/?pg=1" target="_blank" onclick="name='w'+Math.round(Math.random()*(1000));w=screen.width-10;h=screen.height-40;window.open('http://www.oraclemagazine-digital.com/oraclemagazine/20100304/?pg=1',name,'toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=0,top=0,width='+w+'height='+h);return false;" title=" View Magazine"&gt;&lt;img src="http://www.oraclemagazine-digital.com/tcprojects/oracle/oraclemagazine/inbox/72614/imgpages/tn/oracle20100304_0002.gif" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table background="http://www.oraclemagazine-digital.com/oraclemagazine/20100304/include/icons/nav_bg.gif" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr height="28" valign="middle"&gt;&lt;td id="bottomBar" align="center"&gt;&lt;font size="1" face="Comic Sans MS,Arial,Helvetica"&gt;March/April 2010&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-4319716805339370903?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/4319716805339370903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=4319716805339370903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4319716805339370903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4319716805339370903'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2010/02/oracle-magazine-marchapril-2010.html' title='Oracle Magazine - March/April 2010'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7260441967360868660</id><published>2009-12-22T21:51:00.003+02:00</published><updated>2009-12-22T21:56:49.778+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Declaring and Assigning Values to Variables</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;" &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;wages&lt;/span&gt;         &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;hours_worked&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;40&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;hourly_salary&lt;/span&gt;  &lt;span style="color:blue;"&gt;CONSTANT&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;17.50&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- constant value does not change&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;country&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;64&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'UNKNOWN'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;unknown&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;BOOLEAN&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;comm_tab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;commissions&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;COMM_TAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;jobs_var&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;job_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;jobids&lt;/span&gt;        &lt;span style="font-style: italic;color:black;" &gt;JOBS_VAR&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- cursor declaration&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;deptid&lt;/span&gt;        &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;emp_rec&lt;/span&gt;       &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;ROWTYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- do not need TYPE declaration in this case&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;/* the following are examples of assignment statements */&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;wages&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;hours_worked&lt;/span&gt;&lt;br /&gt;           &lt;span style="color:silver;"&gt;*&lt;/span&gt; &lt;span style="color:maroon;"&gt;hourly_salary&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- compute wages&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;country&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Upper&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'italy'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;unknown&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;country&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'UNKNOWN'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Commissions&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;5&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;20000&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color:silver;"&gt;*&lt;/span&gt; &lt;span style="color:black;"&gt;0.15&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Commissions&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;20000&lt;/span&gt;&lt;br /&gt;                    &lt;span style="color:silver;"&gt;*&lt;/span&gt; &lt;span style="color:black;"&gt;0.18&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;jobids&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Jobs_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'ST_CLERK'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;jobids&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Extend&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Jobids&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'SH_CLERK'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;deptid&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CLOSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;emp_rec&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;deptid&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;emp_rec&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;job_id&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Jobids&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7260441967360868660?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7260441967360868660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7260441967360868660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7260441967360868660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7260441967360868660'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/declaring-and-assigning-values-to.html' title='Declaring and Assigning Values to Variables'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7862055545427475035</id><published>2009-12-21T21:29:00.001+02:00</published><updated>2009-12-21T21:30:23.244+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Magazine'/><title type='text'>Oracle Magazine - January/February 2010</title><content type='html'>&lt;table style="margin: 10px 0pt;" border="1" bordercolor="#000000" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table background="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/include/icons/nav_bg.gif" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr height="35" valign="middle"&gt;&lt;td align="left"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/" title="View January/February 2010" target="_blank"&gt;&lt;img style="margin-left: 5px; margin-right: 5px;" src="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/include/icons/navbar_logo.gif" border="0" height="28"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td id="topBar" align="right"&gt;&lt;font size="1" face="Comic Sans MS,Arial,Helvetica"&gt;Look Inside &amp;gt;&amp;gt;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" border="0" cellpadding="0" cellspacing="0" width="240px"&gt;&lt;tbody&gt;&lt;tr id="snippetThumbs" align="center"&gt;&lt;td align="right"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/?pg=1" target="_blank" onclick="name='w'+Math.round(Math.random()*(1000));w=screen.width-10;h=screen.height-40;window.open('http://www.oraclemagazine-digital.com/oraclemagazine/20100102/?pg=1',name,'toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=0,top=0,width='+w+'height='+h);return false;" title="View Magazine"&gt;&lt;img src="http://www.oraclemagazine-digital.com/tcprojects/oracle/oraclemagazine/inbox/70229/imgpages/tn/oracle20100102_0001.gif" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;td align="left"&gt;&lt;a href="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/?pg=1" target="_blank" onclick="name='w'+Math.round(Math.random()*(1000));w=screen.width-10;h=screen.height-40;window.open('http://www.oraclemagazine-digital.com/oraclemagazine/20100102/?pg=1',name,'toolbar=no,menubar=no,resizable=yes,scrollbars=yes,left=0,top=0,width='+w+'height='+h);return false;" title=" View Magazine"&gt;&lt;img src="http://www.oraclemagazine-digital.com/tcprojects/oracle/oraclemagazine/inbox/70229/imgpages/tn/oracle20100102_0002.gif" border="0"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table background="http://www.oraclemagazine-digital.com/oraclemagazine/20100102/include/icons/nav_bg.gif" border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr height="28" valign="middle"&gt;&lt;td id="bottomBar" align="center"&gt;&lt;font size="1" face="Comic Sans MS,Arial,Helvetica"&gt;January/February 2010&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7862055545427475035?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7862055545427475035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7862055545427475035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7862055545427475035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7862055545427475035'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/oracle-magazine-januaryfebruary-2010.html' title='Oracle Magazine - January/February 2010'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7132434835200260030</id><published>2009-12-19T12:38:00.004+02:00</published><updated>2009-12-22T21:31:54.867+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>TEAMS Package Using Dynamic SQL for Object Types and Collections</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="font-style: italic;color:green;" &gt;--Cleanup ...........&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;PACKAGE&lt;/span&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;person_typ&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;hobbies_var&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Creating ..........&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;person_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;OBJECT&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;NAME&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;age&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;hobbies_var&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color:blue;"&gt;REPLACE&lt;/span&gt; &lt;span style="color:blue;"&gt;PACKAGE&lt;/span&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AUTHID&lt;/span&gt; &lt;span style="color:maroon;"&gt;current_user&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;create_table&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;insert_row&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;PERSON_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;h&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;HOBBIES_VAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;print_table&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color:blue;"&gt;REPLACE&lt;/span&gt; &lt;span style="color:blue;"&gt;PACKAGE&lt;/span&gt; &lt;span style="color:blue;"&gt;BODY&lt;/span&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Create_table&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXECUTE&lt;/span&gt; &lt;span style="color:blue;"&gt;IMMEDIATE&lt;/span&gt; &lt;span style="color:red;"&gt;'CREATE TABLE '&lt;/span&gt;&lt;br /&gt;                  ||&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;&lt;br /&gt;                  ||&lt;span style="color:red;"&gt;' (pers person_typ, hobbs hobbies_var)'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Insert_row&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;p&lt;/span&gt;         &lt;span style="font-style: italic;color:black;" &gt;PERSON_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;h&lt;/span&gt;         &lt;span style="font-style: italic;color:black;" &gt;HOBBIES_VAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXECUTE&lt;/span&gt; &lt;span style="color:blue;"&gt;IMMEDIATE&lt;/span&gt; &lt;span style="color:red;"&gt;'INSERT INTO '&lt;/span&gt;&lt;br /&gt;                  ||&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;&lt;br /&gt;                  ||&lt;span style="color:red;"&gt;' VALUES (:1, :2)'&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;USING&lt;/span&gt; &lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;h&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_table&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;refcurtyp&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;REF&lt;/span&gt; &lt;span style="color:blue;"&gt;CURSOR&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;v_cur&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;REFCURTYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;p&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;PERSON_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;h&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;HOBBIES_VAR&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_cur&lt;/span&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:red;"&gt;'SELECT pers, hobbs FROM '&lt;/span&gt;&lt;br /&gt;               ||&lt;span style="color:maroon;"&gt;tab_name&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_cur&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;h&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;EXIT&lt;/span&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_cur&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;NOTFOUND&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-style: italic;color:green;" &gt;-- print attributes of 'p' and elements of 'h'&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Name: '&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:red;"&gt;' - Age: '&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:maroon;"&gt;p&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;age&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;h&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;h&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Hobby('&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color:red;"&gt;'): '&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;H&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CLOSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_cur&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:120%;" &gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT: &lt;a style="color: rgb(0, 0, 0);" href="http://sites.google.com/site/hanyfreedombackup/home/TEAMSPackageUsingDynamicSQLforObjectTypesandCollections.txt?attredirects=0&amp;amp;d=1"&gt;Click Here&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-family: arial;font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;Calling Procedures from the TEAMS Package&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;team_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;15&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;team_name&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'Notables'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Create_table&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;team_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Insert_row&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;team_name&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Person_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'John'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;31&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Hobbies_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'skiing'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'coin collecting'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'tennis'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Insert_row&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;team_name&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Person_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Mary'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;28&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Hobbies_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'golf'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'quilting'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'rock climbing'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'fencing'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;teams&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_table&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;team_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%;color:#000000;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT: &lt;a style="color: rgb(0, 0, 0);" href="http://sites.google.com/site/hanyfreedombackup/home/CallingProceduresfromtheTEAMSPackage.txt?attredirects=0&amp;d=1"&gt;Click Here&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7132434835200260030?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7132434835200260030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7132434835200260030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7132434835200260030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7132434835200260030'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/teams-package-using-dynamic-sql-for.html' title='TEAMS Package Using Dynamic SQL for Object Types and Collections'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8391351424335786703</id><published>2009-12-18T01:15:00.003+02:00</published><updated>2009-12-18T01:19:46.333+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using BULK COLLECT with Nested Tables</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="font-style: italic;color:green;" &gt;-- Cleanup before Creating&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dnames_var&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Creating ........&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dnames_var&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;7&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;region&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dept_names&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;DNAMES_VAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Europe'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Americas'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Asia'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Payroll'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dnames_tab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;DNAMES_VAR&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;v_depts&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DNAMES_TAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_names&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_depts&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;v_depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- prints 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:120%;color:#000000;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT: &lt;a style="color: rgb(0, 0, 0);" href="http://sites.google.com/site/hanyfreedombackup/home/UsingBULKCOLLECTwithNestedTables.txt?attredirects=0&amp;d=1"&gt;Click Here&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8391351424335786703?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8391351424335786703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8391351424335786703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8391351424335786703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8391351424335786703'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/using-bulk-collect-with-nested-tables.html' title='Using BULK COLLECT with Nested Tables'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8101832523756648644</id><published>2009-12-15T20:24:00.007+02:00</published><updated>2009-12-15T21:02:21.704+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using INSERT, UPDATE, DELETE, and SELECT Statements With Varrays</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style="font-family:Courier New;"&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dnames_var&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- By using a varray, we put an upper limit on the number of elements&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- and ensure they always come back in the same order&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dnames_var&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;7&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;region&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dept_names&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;DNAMES_VAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Europe'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Americas'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Asia'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Finance'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Payroll'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Shipping'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Sales'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;new_dnames&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;DNAMES_VAR&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Dnames_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Benefits'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Advertising'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Contracting'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Executive'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                                     &lt;span style="color:red;"&gt;'Marketing'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;some_dnames&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DNAMES_VAR&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;UPDATE&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SET&lt;/span&gt;    &lt;span style="color:maroon;"&gt;dept_names&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:maroon;"&gt;new_dnames&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;region&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'Europe'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_names&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;some_dnames&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;region&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'Europe'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;some_dnames&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;some_dnames&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'dept_names = '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Some_dnames&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:120%;color:#000000;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT: &lt;a style="color: rgb(0, 0, 0);" href="http://sites.google.com/site/hanyfreedombackup/home/UsingINSERT%2CUPDATE%2CDELETE%2CandSELECTStatementsWithVarrays.txt?attredirects=0&amp;amp;d=1"&gt;Click Here&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8101832523756648644?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8101832523756648644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8101832523756648644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8101832523756648644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8101832523756648644'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/using-insert-update-delete-and-select_15.html' title='Using INSERT, UPDATE, DELETE, and SELECT Statements With Varrays'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-2253120272354734565</id><published>2009-12-14T18:47:00.000+02:00</published><updated>2009-12-14T19:01:00.117+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using INSERT, UPDATE, DELETE, and SELECT Statements With Nested Tables</title><content type='html'>&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;CREATE TYPE dnames_tab AS TABLE OF VARCHAR2(30);&lt;br /&gt;/&lt;br /&gt;CREATE TABLE depts (region VARCHAR2(25), dept_names dnames_tab)&lt;br /&gt;NESTED TABLE dept_names STORE AS dnames_nt;&lt;br /&gt;BEGIN&lt;br /&gt;INSERT INTO depts VALUES('Europe', dnames_tab('Shipping','Sales','Finance'));&lt;br /&gt;INSERT INTO depts VALUES('Americas', dnames_tab('Sales','Finance','Shipping'));&lt;br /&gt;INSERT INTO depts VALUES('Asia', dnames_tab('Finance','Payroll'));&lt;br /&gt;COMMIT;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;DECLARE&lt;br /&gt;-- Type declaration is not needed, because PL/SQL can access the SQL object type&lt;br /&gt;-- TYPE dnames_tab IS TABLE OF VARCHAR2(30); not needed&lt;br /&gt;-- Declare a variable that can hold a set of department names&lt;br /&gt;v_dnames dnames_tab;&lt;br /&gt;-- Declare a record that can hold a row from the table&lt;br /&gt;-- One of the record fields is a set of department names&lt;br /&gt;v_depts depts%ROWTYPE;&lt;br /&gt;new_dnames dnames_tab;&lt;br /&gt;BEGIN&lt;br /&gt;-- Look up a region and query just the associated department names&lt;br /&gt;SELECT dept_names INTO v_dnames FROM depts WHERE region = 'Europe';&lt;br /&gt;FOR i IN v_dnames.FIRST .. v_dnames.LAST&lt;br /&gt;LOOP&lt;br /&gt;DBMS_OUTPUT.PUT_LINE('Department names: ' &amp;#124;&amp;#124; v_dnames(i));&lt;br /&gt;END LOOP;&lt;br /&gt;-- Look up a region and query the entire row&lt;br /&gt;SELECT * INTO v_depts FROM depts WHERE region = 'Asia';&lt;br /&gt;-- Now dept_names is a field in a record, so we access it with dot notation&lt;br /&gt;FOR i IN v_depts.dept_names.FIRST .. v_depts.dept_names.LAST LOOP&lt;br /&gt;-- Because we have all the table columns in the record, we can refer to region&lt;br /&gt;DBMS_OUTPUT.PUT_LINE(v_depts.region &amp;#124;&amp;#124; ' dept_names = ' &amp;#124;&amp;#124;&lt;br /&gt;v_depts.dept_names(i));&lt;br /&gt;END LOOP;&lt;br /&gt;-- We can replace a set of department names with a new collection&lt;br /&gt;-- in an UPDATE statement&lt;br /&gt;new_dnames := dnames_tab('Sales','Payroll','Shipping');&lt;br /&gt;UPDATE depts SET dept_names = new_dnames WHERE region = 'Europe';&lt;br /&gt;-- Or we can modify the original collection and use it in the UPDATE.&lt;br /&gt;-- We'll add a new final element and fill in a value&lt;br /&gt;v_depts.dept_names.EXTEND(1);&lt;br /&gt;v_depts.dept_names(v_depts.dept_names.COUNT) := 'Finance';&lt;br /&gt;UPDATE depts SET dept_names = v_depts.dept_names&lt;br /&gt;WHERE region = v_depts.region;&lt;br /&gt;-- We can even treat the nested table column like a real table and&lt;br /&gt;-- insert, update, or delete elements. The TABLE operator makes the statement&lt;br /&gt;-- apply to the nested table produced by the subquery.&lt;br /&gt;INSERT INTO TABLE(SELECT dept_names FROM depts WHERE region = 'Asia')&lt;br /&gt;VALUES('Sales');&lt;br /&gt;DELETE FROM TABLE(SELECT dept_names FROM depts WHERE region = 'Asia')&lt;br /&gt;WHERE column_value = 'Payroll';&lt;br /&gt;UPDATE TABLE(SELECT dept_names FROM depts WHERE region = 'Americas')&lt;br /&gt;SET column_value = 'Payroll' WHERE column_value = 'Finance';&lt;br /&gt;COMMIT;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-2253120272354734565?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/2253120272354734565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=2253120272354734565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2253120272354734565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2253120272354734565'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/using-insert-update-delete-and-select.html' title='Using INSERT, UPDATE, DELETE, and SELECT Statements With Nested Tables'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8716344000536202284</id><published>2009-12-11T14:19:00.004+02:00</published><updated>2009-12-14T00:34:28.823+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Performing Operations on PL/SQL Nested Tables With CAST</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;span style="font-size:100%;"&gt;DROP TABLE department CASCADE CONSTRAINTS PURGE&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;DROP TYPE CourseList&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;DROP TYPE Course&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE TYPE Course AS OBJECT&lt;br /&gt;(course_no NUMBER,&lt;br /&gt;title VARCHAR2(64),&lt;br /&gt;credits NUMBER);&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE TYPE CourseList AS TABLE OF course;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE TABLE department (&lt;br /&gt;name VARCHAR2(20),&lt;br /&gt;director VARCHAR2(20),&lt;br /&gt;office VARCHAR2(20),&lt;br /&gt;courses CourseList)&lt;br /&gt;NESTED TABLE courses STORE AS courses_tab&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;INSERT INTO department VALUES ('English', 'June Johnson', '491C',&lt;br /&gt;CourseList(&lt;br /&gt;Course(1002, 'Expository Writing', 4),&lt;br /&gt;Course(2020, 'Film and Literature', 4),&lt;br /&gt;Course(4210, '20th-Century Poetry', 4),&lt;br /&gt;Course(4725, 'Advanced Workshop in Poetry', 4)))&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;revised CourseList :=&lt;br /&gt;CourseList(Course(1002, 'Expository Writing', 3),&lt;br /&gt;Course(2020, 'Film and Literature', 4),&lt;br /&gt;Course(4210, '20th-Century Poetry', 4),&lt;br /&gt;Course(4725, 'Advanced Workshop in Poetry', 5));&lt;br /&gt;num_changed INTEGER;&lt;br /&gt;BEGIN&lt;br /&gt;SELECT COUNT(*) INTO num_changed&lt;br /&gt;FROM TABLE(CAST(revised AS CourseList)) new,&lt;br /&gt;TABLE(SELECT courses FROM department&lt;br /&gt;WHERE name = 'English') old&lt;br /&gt;WHERE new.course_no = old.course_no AND&lt;br /&gt;(new.title != old.title OR new.credits != old.credits);&lt;br /&gt;DBMS_OUTPUT.PUT_LINE(num_changed);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;a href="http://sites.google.com/site/hanyfreedombackup/home/PerformingOperationsonPLSQLNestedTablesWithCAST.TXT?attredirects=0&amp;amp;d=1"&gt; &lt;span style="color: rgb(0, 51, 0); font-family: courier new;font-size:130%;" &gt;Click Here&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8716344000536202284?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8716344000536202284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8716344000536202284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8716344000536202284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8716344000536202284'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/performing-operations-on-plsql-nested.html' title='Performing Operations on PL/SQL Nested Tables With CAST'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1736785320892673698</id><published>2009-12-08T21:37:00.000+02:00</published><updated>2009-12-08T21:47:53.972+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Nested Table Constructor Within a SQL Statement</title><content type='html'>&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;20:46:31 SQL&amp;gt; DROP TABLE sophomores CASCADE CONSTRAINTS PURGE&lt;br /&gt;20:46:32   2  /&lt;br /&gt;DROP TABLE sophomores CASCADE CONSTRAINTS PURGE&lt;br /&gt;           *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-00942: table or view does not exist &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.01&lt;br /&gt;20:46:32 SQL&amp;gt; DROP TYPE student&lt;br /&gt;20:46:32   2  /&lt;br /&gt;DROP TYPE student&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-04043: object STUDENT does not exist &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.00&lt;br /&gt;20:46:32 SQL&amp;gt; DROP TYPE CourseList&lt;br /&gt;20:46:32   2  /&lt;br /&gt;DROP TYPE CourseList&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-04043: object COURSELIST does not exist &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.00&lt;br /&gt;20:46:32 SQL&amp;gt; CREATE TYPE CourseList AS TABLE OF VARCHAR2(10)&lt;br /&gt;20:46:32   2  /&lt;br /&gt;&lt;br /&gt;Type created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.03&lt;br /&gt;20:46:32 SQL&amp;gt; CREATE TYPE student AS OBJECT (&lt;br /&gt;20:46:32   2  id_num INTEGER(4),&lt;br /&gt;20:46:32   3  name VARCHAR2(25),&lt;br /&gt;20:46:32   4  address VARCHAR2(35),&lt;br /&gt;20:46:32   5  status CHAR(2),&lt;br /&gt;20:46:32   6  courses CourseList)&lt;br /&gt;20:46:32   7  /&lt;br /&gt;&lt;br /&gt;Type created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.06&lt;br /&gt;20:46:32 SQL&amp;gt; CREATE TABLE sophomores of student NESTED TABLE courses STORE AS courses_nt&lt;br /&gt;20:46:32   2  /&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.04&lt;br /&gt;20:46:32 SQL&amp;gt; BEGIN&lt;br /&gt;20:46:32   2  INSERT INTO sophomores&lt;br /&gt;20:46:32   3  VALUES (5035, 'Janet Alvarez', '122 Broad St', 'FT',&lt;br /&gt;20:46:32   4  CourseList('Econ 2010', 'Acct 3401', 'Mgmt 3100'));&lt;br /&gt;20:46:32   5  END;&lt;br /&gt;20:46:32   6  /&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.01&lt;br /&gt;20:46:33 SQL&amp;gt; SPOOL OFF&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1736785320892673698?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1736785320892673698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1736785320892673698' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1736785320892673698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1736785320892673698'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/12/nested-table-constructor-within-sql.html' title='Nested Table Constructor Within a SQL Statement'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-6438141639173670541</id><published>2009-11-21T17:27:00.005+02:00</published><updated>2009-11-27T20:05:07.672+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Codes'/><title type='text'>Creating a Table with a Varray Column</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:maroon;"&gt;dept_projects&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;code&gt;&lt;code&gt;&lt;span&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;type&lt;/span&gt; &lt;span style="color:maroon;"&gt;projectlist&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Each project has a 16-character code name.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- We will store up to 50 projects at a time in a database column.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;projectlist&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;50&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;16&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_projects&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- create database table&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dept_id&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;NAME&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;15&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;budget&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;11&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Each department can have up to 50 projects.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;projects&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PROJECTLIST&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family: verdana;font-size:130%;" &gt;Varray Constructor Within a SQL Statement&lt;/span&gt;&lt;br /&gt;&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_projects&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;60&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:red;"&gt;'Security'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;750400&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Projectlist&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'New Badges'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Track Computers'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Check Exits'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-6438141639173670541?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/6438141639173670541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=6438141639173670541' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6438141639173670541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6438141639173670541'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/creating-table-with-varray-column.html' title='Creating a Table with a Varray Column'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7096553755753547218</id><published>2009-11-20T20:42:00.002+02:00</published><updated>2009-11-20T20:49:18.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Codes'/><title type='text'>Declaring a Nested Table in SQL</title><content type='html'>&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;&lt;span style="font-family: courier new;font-size:100%;" &gt;&lt;span style="color: rgb(0, 0, 153);"&gt;DROP TABLE sophomores CASCADE CONSTRAINTS PURGE;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;DROP TYPE student;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;DROP TYPE CourseList;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;-------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;CREATE TYPE CourseList AS TABLE OF VARCHAR2(10) -- define type&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;CREATE TYPE student AS OBJECT ( -- create object&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;id_num INTEGER(4),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;name VARCHAR2(25),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;address VARCHAR2(35),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;status CHAR(2),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;courses CourseList); -- declare nested table as attribute&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;CREATE TABLE sophomores of student&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;NESTED TABLE courses STORE AS courses_nt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); line-height: 14px; width: 100%;font-family:courier new;font-size:12px;"&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;20:40:43 SQL&amp;gt; DROP TABLE sophomores CASCADE CONSTRAINTS PURGE;&lt;br /&gt;&lt;br /&gt;Table dropped.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.04&lt;br /&gt;20:40:44 SQL&amp;gt; DROP TYPE student;&lt;br /&gt;&lt;br /&gt;Type dropped.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.09&lt;br /&gt;20:40:44 SQL&amp;gt; DROP TYPE CourseList;&lt;br /&gt;&lt;br /&gt;Type dropped.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.06&lt;br /&gt;&lt;br /&gt;20:40:44 SQL&amp;gt; CREATE TYPE CourseList AS TABLE OF VARCHAR2(10) -- define type&lt;br /&gt;20:40:44   2  /&lt;br /&gt;&lt;br /&gt;Type created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.01&lt;br /&gt;20:40:44 SQL&amp;gt; CREATE TYPE student AS OBJECT ( -- create object&lt;br /&gt;20:40:44   2  id_num INTEGER(4),&lt;br /&gt;20:40:44   3  name VARCHAR2(25),&lt;br /&gt;20:40:44   4  address VARCHAR2(35),&lt;br /&gt;20:40:44   5  status CHAR(2),&lt;br /&gt;20:40:44   6  courses CourseList); -- declare nested table as attribute&lt;br /&gt;20:40:44   7  /&lt;br /&gt;&lt;br /&gt;Type created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.06&lt;br /&gt;20:40:44 SQL&amp;gt; CREATE TABLE sophomores of student&lt;br /&gt;20:40:44   2  NESTED TABLE courses STORE AS courses_nt&lt;br /&gt;20:40:44   3  /&lt;br /&gt;&lt;br /&gt;Table created.&lt;br /&gt;&lt;br /&gt;Elapsed: 00:00:00.03&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7096553755753547218?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7096553755753547218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7096553755753547218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7096553755753547218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7096553755753547218'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/declaring-nested-table-in-sql.html' title='Declaring a Nested Table in SQL'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-3362995276023392399</id><published>2009-11-18T19:07:00.001+02:00</published><updated>2009-11-18T19:10:43.264+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using DEREF in a SELECT INTO Statement</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;REF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_name&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;50&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Ref&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt; &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;370&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- the following assignment raises an error, not allowed in PL/SQL&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- emp_name := emp_ref.first_name || ' ' || emp_ref.last_name;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- emp := DEREF(emp_ref); not allowed, cannot use DEREF in procedural statements&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Deref&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;dual&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- use dummy table DUAL&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_name&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;first_name&lt;/span&gt;&lt;br /&gt;             ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;             ||&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-3362995276023392399?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/3362995276023392399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=3362995276023392399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3362995276023392399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3362995276023392399'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-deref-in-select-into-statement.html' title='Using DEREF in a SELECT INTO Statement'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1552827772956191834</id><published>2009-11-18T19:04:00.001+02:00</published><updated>2009-11-18T19:06:53.841+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Updating Rows in an Object Table With a REF Modifier</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;REF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Ref&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt; &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;370&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;UPDATE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt; &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt;    &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'8701 College'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Oakland'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94321'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Ref&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_ref&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1552827772956191834?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1552827772956191834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1552827772956191834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1552827772956191834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1552827772956191834'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/updating-rows-in-object-table-with-ref.html' title='Updating Rows in an Object Table With a REF Modifier'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-9178148198509625159</id><published>2009-11-14T22:42:00.001+02:00</published><updated>2009-11-14T22:48:32.374+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Updating and Deleting Rows in an Object Table</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;370&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Robert'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Myers'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'RMYERS'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'555.111.2277'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color:red;"&gt;'07-NOV-04'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'SA_REP'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;8800&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;.12&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;101&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;110&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'540 Fillmore'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'San Francisco'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94011'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;UPDATE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt; &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt;    &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;street&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'1040 California'&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;370&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt; &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;e&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;310&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-9178148198509625159?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/9178148198509625159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=9178148198509625159' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/9178148198509625159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/9178148198509625159'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/updating-and-deleting-rows-in-object.html' title='Updating and Deleting Rows in an Object Table'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-6994540637196476074</id><published>2009-11-14T00:06:00.001+02:00</published><updated>2009-11-14T00:09:13.087+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Inserting Rows in an Object Table</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;310&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Evers'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Boston'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'EBOSTON'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'555.111.2222'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color:red;"&gt;'01-AUG-04'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'SA_REP'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;9000&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;.15&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;101&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;110&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'123 Main'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'San Francisco'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94111'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;320&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Martha'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Dunn'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'MDUNN'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'555.111.3333'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color:red;"&gt;'30-SEP-04'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'AC_MGR'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;12500&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;101&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;110&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'123 Broadway'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Redwood City'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94065'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-6994540637196476074?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/6994540637196476074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=6994540637196476074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6994540637196476074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6994540637196476074'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/inserting-rows-in-object-table.html' title='Inserting Rows in an Object Table'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-6298039686432721435</id><published>2009-11-13T02:31:00.001+02:00</published><updated>2009-11-13T02:33:41.491+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Accessing Object Attributes</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;315&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Francis'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Logan'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'FLOGAN'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'555.777.2222'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                     &lt;span style="color:red;"&gt;'01-MAY-04'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'SA_MAN'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;11000&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;.15&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;101&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;110&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'376 Mission'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'San Francisco'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94222'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;first_name&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;street&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;city&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;', '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;state&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;postal_code&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Francis Logan&lt;br /&gt;376 Mission&lt;br /&gt;San Francisco, CA 94222&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-6298039686432721435?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/6298039686432721435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=6298039686432721435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6298039686432721435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6298039686432721435'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/accessing-object-attributes.html' title='Accessing Object Attributes'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1013406437831501435</id><published>2009-11-12T00:19:00.002+02:00</published><updated>2009-11-12T00:24:32.806+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Null Objects in a PL/SQL Block</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- emp is atomically null&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp is NULL #1'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp.employee_id is NULL #1'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;330&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp is NULL #2'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp.employee_id is NULL #2'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                     &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- emp := NULL; -- this would have made the following IF statement TRUE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp is NULL #3'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'emp.employee_id is NULL #3'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;access_into_null&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Cannot assign value to NULL object'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;emp is NULL #1&lt;br /&gt;emp.employee_id is NULL #1&lt;br /&gt;emp is NULL #2&lt;br /&gt;emp.employee_id is NULL #3&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1013406437831501435?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1013406437831501435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1013406437831501435' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1013406437831501435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1013406437831501435'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/null-objects-in-plsql-block.html' title='Null Objects in a PL/SQL Block'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-373104205032281126</id><published>2009-11-11T01:37:00.003+02:00</published><updated>2009-11-11T01:43:35.605+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Declaring Object Types in a PL/SQL Block</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- emp is atomically null&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- call the constructor for employee_typ&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Employee_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;315&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Francis'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Logan'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'FLOGAN'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'555.777.2222'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                     &lt;span style="color:red;"&gt;'01-MAY-04'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'SA_MAN'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;11000&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;.15&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;101&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;110&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Address_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'376 Mission'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'San Francisco'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'CA'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'94222'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;first_name&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;                      ||&lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- display details&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Display_address&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- call object method to display details&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Francis Logan&lt;br /&gt;Francis Logan&lt;br /&gt;376 Mission&lt;br /&gt;San Francisco, CA 94222&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-373104205032281126?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/373104205032281126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=373104205032281126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/373104205032281126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/373104205032281126'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/declaring-object-types-in-plsql-block.html' title='Declaring Object Types in a PL/SQL Block'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-2986861727076982844</id><published>2009-11-10T03:42:00.003+02:00</published><updated>2009-11-10T03:56:10.961+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Working With Object Types</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;address_typ&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;address_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;OBJECT&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;street&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;city&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;state&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;CHAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;postal_code&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;6&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_typ&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt; &lt;span style="color:blue;"&gt;OBJECT&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;6&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;first_name&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;last_name&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;email&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;25&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;phone_number&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;hire_date&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;DATE&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;job_id&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;salary&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;commission_pct&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;manager_id&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;6&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;address&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;ADDRESS_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;MAP&lt;/span&gt; &lt;span style="color:blue;"&gt;MEMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;FUNCTION&lt;/span&gt; &lt;span style="color:maroon;"&gt;get_idno&lt;/span&gt; &lt;span style="color:blue;"&gt;RETURN&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;MEMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;display_address&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELF&lt;/span&gt;  &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;OUT&lt;/span&gt; &lt;span style="color:blue;"&gt;NOCOPY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:blue;"&gt;BODY&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;MAP&lt;/span&gt; &lt;span style="color:blue;"&gt;MEMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;FUNCTION&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_idno&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;RETURN&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;RETURN&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;MEMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Display_address&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELF&lt;/span&gt;  &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;OUT&lt;/span&gt; &lt;span style="color:blue;"&gt;NOCOPY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPLOYEE_TYP&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;first_name&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;street&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;city&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;', '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;state&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;address&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;postal_code&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_tab &lt;span style="color: rgb(0, 0, 153);"&gt;OF&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:maroon;"&gt;employee_typ&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT: ALL Feedback return without any Errors.&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-2986861727076982844?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/2986861727076982844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=2986861727076982844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2986861727076982844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2986861727076982844'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/working-with-object-types.html' title='Working With Object Types'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-4937146741065150918</id><published>2009-11-10T03:34:00.002+02:00</published><updated>2009-11-10T03:41:38.905+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using a Pipelined Table Function as an Aggregate Function</title><content type='html'>&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;&lt;span style="font-family: courier new; color: rgb(0, 0, 102);font-size:130%;" &gt;DROP TABLE gradereport CASCADE CONSTRAINTS PURGE;&lt;br /&gt;&lt;br /&gt;CREATE TABLE gradereport (student VARCHAR2(30), subject VARCHAR2(30),&lt;br /&gt;weight NUMBER, grade NUMBER);&lt;br /&gt;&lt;br /&gt;INSERT INTO gradereport VALUES('Mark', 'Physics', 4, 4);&lt;br /&gt;INSERT INTO gradereport VALUES('Mark','Chemistry', 4, 3);&lt;br /&gt;INSERT INTO gradereport VALUES('Mark','Maths', 3, 3);&lt;br /&gt;INSERT INTO gradereport VALUES('Mark','Economics', 3, 4);&lt;br /&gt;&lt;br /&gt;DROP PACKAGE pkg_gpa;&lt;br /&gt;&lt;br /&gt;CREATE PACKAGE pkg_gpa IS&lt;br /&gt;TYPE gpa IS TABLE OF NUMBER;&lt;br /&gt;FUNCTION weighted_average(input_values SYS_REFCURSOR)&lt;br /&gt;RETURN gpa PIPELINED;&lt;br /&gt;END pkg_gpa;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE PACKAGE BODY pkg_gpa IS&lt;br /&gt;FUNCTION weighted_average(input_values SYS_REFCURSOR)&lt;br /&gt;RETURN gpa PIPELINED IS&lt;br /&gt;grade NUMBER;&lt;br /&gt;total NUMBER := 0;&lt;br /&gt;total_weight NUMBER := 0;&lt;br /&gt;weight NUMBER := 0;&lt;br /&gt;BEGIN&lt;br /&gt;-- The function accepts a ref cursor and loops through all the input rows&lt;br /&gt;LOOP&lt;br /&gt;FETCH input_values INTO weight, grade;&lt;br /&gt;EXIT WHEN input_values%NOTFOUND;&lt;br /&gt;-- Accumulate the weighted average&lt;br /&gt;total_weight := total_weight + weight;&lt;br /&gt;total := total + grade*weight;&lt;br /&gt;END LOOP;&lt;br /&gt;PIPE ROW (total / total_weight);&lt;br /&gt;RETURN; -- the function returns a single result&lt;br /&gt;END;&lt;br /&gt;END pkg_gpa;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;-- the query result comes back as a nested table with a single row&lt;br /&gt;-- COLUMN_VALUE is a keyword that returns the contents of a nested table&lt;br /&gt;SELECT w.column_value "weighted result" FROM TABLE(&lt;br /&gt;pkg_gpa.weighted_average(CURSOR(SELECT weight, grade FROM gradereport))) w;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;weighted result&lt;br /&gt;---------------&lt;br /&gt;            3.5&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-4937146741065150918?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/4937146741065150918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=4937146741065150918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4937146741065150918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4937146741065150918'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-pipelined-table-function-as.html' title='Using a Pipelined Table Function as an Aggregate Function'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7496635753721680466</id><published>2009-11-10T03:04:00.005+02:00</published><updated>2009-11-10T03:20:51.805+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using Multiple REF CURSOR Input Variables</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;span style="color: rgb(0, 0, 102);font-family:courier new;font-size:130%;"  &gt;DROP PACKAGE refcur_pkg;&lt;br /&gt;&lt;br /&gt;-- Define the ref cursor types&lt;br /&gt;CREATE PACKAGE refcur_pkg IS&lt;br /&gt;TYPE refcur_t1 IS REF CURSOR RETURN employees%ROWTYPE;&lt;br /&gt;TYPE refcur_t2 IS REF CURSOR RETURN departments%ROWTYPE;&lt;br /&gt;TYPE outrec_typ IS RECORD (&lt;br /&gt;var_num NUMBER(6),&lt;br /&gt;var_char1 VARCHAR2(30),&lt;br /&gt;var_char2 VARCHAR2(30));&lt;br /&gt;TYPE outrecset IS TABLE OF outrec_typ;&lt;br /&gt;FUNCTION g_trans(p1 refcur_t1, p2 refcur_t2)&lt;br /&gt;RETURN outrecset PIPELINED;&lt;br /&gt;END refcur_pkg;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE PACKAGE BODY refcur_pkg IS&lt;br /&gt;FUNCTION g_trans(p1 refcur_t1, p2 refcur_t2)&lt;br /&gt;RETURN outrecset PIPELINED IS&lt;br /&gt;out_rec outrec_typ;&lt;br /&gt;in_rec1 p1%ROWTYPE;&lt;br /&gt;in_rec2 p2%ROWTYPE;&lt;br /&gt;BEGIN&lt;br /&gt;LOOP&lt;br /&gt;FETCH p2 INTO in_rec2;&lt;br /&gt;EXIT WHEN p2%NOTFOUND;&lt;br /&gt;END LOOP;&lt;br /&gt;CLOSE p2;&lt;br /&gt;LOOP&lt;br /&gt;FETCH p1 INTO in_rec1;&lt;br /&gt;EXIT WHEN p1%NOTFOUND;&lt;br /&gt;-- first row&lt;br /&gt;out_rec.var_num := in_rec1.employee_id;&lt;br /&gt;out_rec.var_char1 := in_rec1.first_name;&lt;br /&gt;out_rec.var_char2 := in_rec1.last_name;&lt;br /&gt;PIPE ROW(out_rec);&lt;br /&gt;-- second row&lt;br /&gt;out_rec.var_num := in_rec2.department_id;&lt;br /&gt;out_rec.var_char1 := in_rec2.department_name;&lt;br /&gt;out_rec.var_char2 := TO_CHAR(in_rec2.location_id);&lt;br /&gt;PIPE ROW(out_rec);&lt;br /&gt;END LOOP;&lt;br /&gt;CLOSE p1;&lt;br /&gt;RETURN;&lt;br /&gt;END;&lt;br /&gt;END refcur_pkg;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;-- SELECT query using the g_trans table function&lt;br /&gt;SELECT * FROM TABLE(refcur_pkg.g_trans(&lt;br /&gt;CURSOR(SELECT * FROM employees WHERE department_id = 60),&lt;br /&gt;CURSOR(SELECT * FROM departments WHERE department_id = 60)));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hZQrAX9ISTE/Svi93QCe0-I/AAAAAAAADdk/dPGMLdQ8xuA/s1600-h/out3put.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 129px;" src="http://2.bp.blogspot.com/_hZQrAX9ISTE/Svi93QCe0-I/AAAAAAAADdk/dPGMLdQ8xuA/s400/out3put.PNG" alt="" id="BLOGGER_PHOTO_ID_5402276509926740962" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7496635753721680466?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7496635753721680466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7496635753721680466' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7496635753721680466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7496635753721680466'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-multiple-ref-cursor-input.html' title='Using Multiple REF CURSOR Input Variables'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_hZQrAX9ISTE/Svi93QCe0-I/AAAAAAAADdk/dPGMLdQ8xuA/s72-c/out3put.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-6656772622347158041</id><published>2009-11-10T02:38:00.004+02:00</published><updated>2009-11-10T03:03:18.615+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using a Pipelined Table Function For a Transformation</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 102); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:courier new;font-size:12px;"&gt;&lt;span style="font-size:130%;"&gt;&lt;code&gt;DROP PACKAGE refcur_pkg;&lt;br /&gt;&lt;br /&gt;-- Define the ref cursor types and function&lt;br /&gt;CREATE OR REPLACE PACKAGE refcur_pkg IS&lt;br /&gt;TYPE refcur_t IS REF CURSOR RETURN employees%ROWTYPE;&lt;br /&gt;TYPE outrec_typ IS RECORD (&lt;br /&gt;var_num NUMBER(6),&lt;br /&gt;var_char1 VARCHAR2(30),&lt;br /&gt;var_char2 VARCHAR2(30));&lt;br /&gt;TYPE outrecset IS TABLE OF outrec_typ;&lt;br /&gt;FUNCTION f_trans(p refcur_t)&lt;br /&gt;RETURN outrecset PIPELINED;&lt;br /&gt;END refcur_pkg;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE PACKAGE BODY refcur_pkg IS&lt;br /&gt;FUNCTION f_trans(p refcur_t)&lt;br /&gt;RETURN outrecset PIPELINED IS&lt;br /&gt;out_rec outrec_typ;&lt;br /&gt;in_rec p%ROWTYPE;&lt;br /&gt;BEGIN&lt;br /&gt;LOOP&lt;br /&gt;FETCH p INTO in_rec;&lt;br /&gt;EXIT WHEN p%NOTFOUND;&lt;br /&gt;-- first row&lt;br /&gt;out_rec.var_num := in_rec.employee_id;&lt;br /&gt;out_rec.var_char1 := in_rec.first_name;&lt;br /&gt;out_rec.var_char2 := in_rec.last_name;&lt;br /&gt;PIPE ROW(out_rec);&lt;br /&gt;-- second row&lt;br /&gt;out_rec.var_char1 := in_rec.email;&lt;br /&gt;out_rec.var_char2 := in_rec.phone_number;&lt;br /&gt;PIPE ROW(out_rec);&lt;br /&gt;END LOOP;&lt;br /&gt;CLOSE p;&lt;br /&gt;RETURN;&lt;br /&gt;END;&lt;br /&gt;END refcur_pkg;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;-- SELECT query using the f_transc table function&lt;br /&gt;SELECT * FROM TABLE(&lt;br /&gt;refcur_pkg.f_trans(CURSOR(SELECT * FROM employees WHERE department_id = 60)));&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style="color: rgb(0, 0, 102);font-family:courier new;font-size:130%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);font-family:courier new;font-size:130%;"  &gt;&lt;span style="font-weight: bold;font-family:webdings;font-size:180%;"  &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hZQrAX9ISTE/Svi7Ckj3BYI/AAAAAAAADdc/Ji8AyKfbc_g/s1600-h/out2put.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 117px;" src="http://4.bp.blogspot.com/_hZQrAX9ISTE/Svi7Ckj3BYI/AAAAAAAADdc/Ji8AyKfbc_g/s400/out2put.PNG" alt="" id="BLOGGER_PHOTO_ID_5402273405879125378" border="0" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-6656772622347158041?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/6656772622347158041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=6656772622347158041' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6656772622347158041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6656772622347158041'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-pipelined-table-function-for.html' title='Using a Pipelined Table Function For a Transformation'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hZQrAX9ISTE/Svi7Ckj3BYI/AAAAAAAADdc/Ji8AyKfbc_g/s72-c/out2put.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8299229368768017020</id><published>2009-11-10T02:27:00.002+02:00</published><updated>2009-11-10T02:38:17.944+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Assigning the Result of a Table Function</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:courier new;font-size:12px;"&gt;&lt;span style="font-size:130%;"&gt;&lt;code&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;CREATE PACKAGE pkg1 AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;TYPE numset_t IS TABLE OF NUMBER;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;FUNCTION f1(x NUMBER) RETURN numset_t PIPELINED;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;END pkg1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;CREATE PACKAGE BODY pkg1 AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;-- FUNCTION f1 returns a collection of elements (1,2,3,... x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;FUNCTION f1(x NUMBER) RETURN numset_t PIPELINED IS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;FOR i IN 1..x LOOP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;PIPE ROW(i);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;END LOOP;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;RETURN;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;END;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;END pkg1;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;-- pipelined function is used in FROM clause of SELECT statement&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 153);"&gt;SELECT * FROM TABLE(pkg1.f1(5));&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8299229368768017020?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8299229368768017020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8299229368768017020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8299229368768017020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8299229368768017020'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/assigning-result-of-table-function.html' title='Assigning the Result of a Table Function'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-4656636964846718817</id><published>2009-11-10T02:02:00.002+02:00</published><updated>2009-11-10T02:26:50.087+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Codes'/><title type='text'>Checking for PLSQL Compilation Type</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt;   &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;plsql_code_type&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Count&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:silver;"&gt;*&lt;/span&gt; &lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;     &lt;span style="color:maroon;"&gt;dba_plsql_object_settings&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;    &lt;span style="color:maroon;"&gt;plsql_code_type&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NOT&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;GROUP&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;plsql_code_type&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;ORDER&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;plsql_code_type&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hZQrAX9ISTE/SvizJUP4UqI/AAAAAAAADdU/eIXaGI7ZePE/s1600-h/output.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 109px;" src="http://4.bp.blogspot.com/_hZQrAX9ISTE/SvizJUP4UqI/AAAAAAAADdU/eIXaGI7ZePE/s400/output.PNG" alt="" id="BLOGGER_PHOTO_ID_5402264725666419362" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-4656636964846718817?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/4656636964846718817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=4656636964846718817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4656636964846718817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4656636964846718817'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/checking-for-plsql-compilation-type.html' title='Checking for PLSQL Compilation Type'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hZQrAX9ISTE/SvizJUP4UqI/AAAAAAAADdU/eIXaGI7ZePE/s72-c/output.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-5542149785122923027</id><published>2009-11-10T01:56:00.003+02:00</published><updated>2009-11-10T01:59:43.994+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using NOCOPY With Parameters</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emptabtyp&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;ROWTYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_tab&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPTABTYP&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Emptabtyp&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- initialize&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t1&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t2&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t3&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_time&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t&lt;/span&gt;  &lt;span style="color:blue;"&gt;OUT&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;t&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;dbms_utility&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;get_time&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Do_nothing1&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab&lt;/span&gt;  &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;OUT&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPTABTYP&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Do_nothing2&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;tab&lt;/span&gt;  &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;OUT&lt;/span&gt; &lt;span style="color:blue;"&gt;NOCOPY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;EMPTABTYP&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Emp_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Extend&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;49999&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- copy element 1 into 2..50000&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_time&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Do_nothing1&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- pass IN OUT parameter&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_time&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Do_nothing2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- pass IN OUT NOCOPY parameter&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_time&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t3&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Call Duration (secs)'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--------------------'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Just IN OUT: '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t2&lt;/span&gt;&lt;br /&gt;                                   &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:maroon;"&gt;t1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                                  &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100.0&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'With NOCOPY: '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t3&lt;/span&gt;&lt;br /&gt;                                   &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:maroon;"&gt;t2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                          &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100.0&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Call Duration (secs)&lt;br /&gt;--------------------&lt;br /&gt;Just IN OUT: .16&lt;br /&gt;With NOCOPY: 0&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-5542149785122923027?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/5542149785122923027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=5542149785122923027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5542149785122923027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5542149785122923027'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/declare-type-emptabtyp-is-table-of.html' title='Using NOCOPY With Parameters'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1292649092507563519</id><published>2009-11-09T19:27:00.003+02:00</published><updated>2009-11-18T19:49:58.187+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site Map'/><title type='text'>Site Map</title><content type='html'>&lt;div align="center"&gt; &lt;h1&gt;Site Map&lt;/h1&gt; &lt;h3&gt;&lt;a href="http://hany4u.blogspot.com/"&gt;Homepage&lt;/a&gt;&lt;/h3&gt; Last updated: 2009, November 18 &lt;br /&gt;&lt;br /&gt; &lt;table border="0" cellpadding="0"&gt;  &lt;tbody&gt;&lt;tr valign="top"&gt; &lt;td class="lpart" colspan="100"&gt;&lt;div class="lhead"&gt;/ &lt;span class="lcount"&gt;12 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/"&gt;Live ORACLE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_11_01_archive.html"&gt;Live ORACLE: November 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_10_01_archive.html"&gt;Live ORACLE: October 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_09_01_archive.html"&gt;Live ORACLE: September 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_07_01_archive.html"&gt;Live ORACLE: July 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_06_01_archive.html"&gt;Live ORACLE: June 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_05_01_archive.html"&gt;Live ORACLE: May 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_04_01_archive.html"&gt;Live ORACLE: April 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_03_01_archive.html"&gt;Live ORACLE: March 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009_02_01_archive.html"&gt;Live ORACLE: February 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008_12_01_archive.html"&gt;Live ORACLE: December 2008&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008_11_01_archive.html"&gt;Live ORACLE: November 2008&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;11/ &lt;span class="lcount"&gt;27 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/password-encryption-package.html"&gt;Live ORACLE: password encryption package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/populate-plsql-table-from-cursor.html"&gt;Live ORACLE: populate a PL/SQL Table from a cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/profile-plsql-code-to-get-run-time.html"&gt;Live ORACLE: Profile PL/SQL code to get run-time statistics&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/bulk-collect-and-bulk-bind.html"&gt;Live ORACLE: BULK COLLECT and BULK BIND&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/updatedelete-in-loop.html"&gt;Live ORACLE: UPDATE/DELETE in a LOOP&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/delete-duplicate-values-from-table.html"&gt;Live ORACLE: Delete duplicate values from a table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/convert-long-datatypes-to-lobs-large.html"&gt;Live ORACLE: Convert LONG datatypes to LOBs (Large Objects)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/varray.html"&gt;Live ORACLE: VARRAY&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/oracle-database-types-and-object-tables.html"&gt;Live ORACLE: Oracle database types and object tables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/count-number-of-rows-for-all-tables-in.html"&gt;Live ORACLE: Count the number of rows for ALL tables in the current schema&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/encoding-and-decoding-of-secret.html"&gt;Live ORACLE: Encoding and Decoding of Secret Messages&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/spell-out-numbers-to-words.html"&gt;Live ORACLE: Spell out Numbers to Words&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/check-if-year-is-leap-year.html"&gt;Live ORACLE: Check if a year is a leap year&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/example-of-how-to-pass-application-info.html"&gt;Live ORACLE: Example of how to pass application info through to Oracle RDBMS&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/display-table-and-column-comments-for.html"&gt;Live ORACLE: Display table and column comments for the current schema&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/example-script-to-demonstrate-default.html"&gt;Live ORACLE: Example script to demonstrate DEFAULT column values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/select-nth-highest-value-from-table.html"&gt;Live ORACLE: Select the Nth highest - lowest value from a table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/reports-information-about-your-current.html"&gt;Live ORACLE: Reports information about your current database context&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/show-database-version-with-options.html"&gt;Live ORACLE: Show database version with options installed&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/oracle-magazine-mayjune-2008.html"&gt;Live ORACLE: Oracle Magazine (May/June 2008)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/oracle-magazine-julyaugust-2008.html"&gt;Live ORACLE: Oracle Magazine (July/August 2008)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/oracle-magazine-septemberoctober-2008.html"&gt;Live ORACLE: Oracle Magazine (September/October 2008)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/cross-matrix-report.html"&gt;Live ORACLE: CROSS MATRIX report&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/sql-hacks-source-code.html"&gt;Live ORACLE: SQL Hacks Source code&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/oracle-to-excel-via-sqlplus.html"&gt;Live ORACLE: Oracle to Excel via Sqlplus&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/last-oracle-magazine.html"&gt;Live ORACLE: Oracle Magazine (November/December 2008)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/11/bulk-collect-and-bulk-bind.html?showComment=1233636540000"&gt;Live ORACLE: BULK COLLECT and BULK BIND&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;12/ &lt;span class="lcount"&gt;41 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/oracle-database-design.html"&gt;Live ORACLE: Oracle Database Design&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/oracle-forms-reports.html"&gt;Live ORACLE: Oracle Forms &amp;amp; Reports&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/oracle-database-programming.html"&gt;Live ORACLE: Oracle Database Programming&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/introduction-on-oracle-database.html"&gt;Live ORACLE: Introduction on Oracle Database&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/register-on-oraclecom.html"&gt;Live ORACLE: Register on Oracle.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/make-shortcut-icon-for-you-oracle.html"&gt;Live ORACLE: Make a shortcut Icon for your Oracle Project&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/oracle-magazine-januaryfebruary-2009.html"&gt;Live ORACLE: Oracle Magazine (January/February 2009)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/download-and-install-oracle-db-and.html"&gt;Live ORACLE: Download and Install Oracle DB and Developer Step by Step&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/foreign-key-by-toad_02.html"&gt;Live ORACLE: Foreign Key by TOAD&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/package-to-generate-html-type.html"&gt;Live ORACLE: Package to generate HTML-type documentation for Oracle objects&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/converts-string-of-text-into-seperate.html"&gt;Live ORACLE: Converts a string of text into seperate soundex values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/nysiis-function-improvement-on-soundex.html"&gt;Live ORACLE: NYSIIS function (an improvement on soundex)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/convert-numbers-to-chars-for-printing.html"&gt;Live ORACLE: convert numbers to chars for printing cheques amount in Indian Style&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/this-function-will-convert-number-to.html"&gt;Live ORACLE: This function will convert a number to words, handy for ptinting  cheques&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/replace-all-occurences-of-substring.html"&gt;Live ORACLE: Replace all occurences of a substring with another substring&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/count-number-of-rows-for-all-tables-in.html"&gt;Live ORACLE: Count the number of rows for ALL tables in current schema&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/list-tables-from-schema-with-more-than.html"&gt;Live ORACLE: List tables from schema with more than X rows&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/maintain-audit-log-of-ddl-changes-alter.html"&gt;Live ORACLE: Maintain an audit log of DDL changes (alter/ drop/ create) within a schema&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/access-internet-web-pages-from-sql-or.html"&gt;Live ORACLE: Access Internet Web pages from SQL or PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/send-e-mail-messages-and-attachments_01.html"&gt;Live ORACLE: Send e-mail messages and attachments from PL/SQL  (using UTL_SMTP)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/send-e-mail-messages-and-attachments.html"&gt;Live ORACLE: Send e-mail messages and attachments from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/send-e-mail-messages-from-plsql.html"&gt;Live ORACLE: Send e-mail messages from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/execute-operating-system-commands-from.html"&gt;Live ORACLE: Execute operating system commands from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/demonstrate-java-stored-procedures.html"&gt;Live ORACLE: Demonstrate Java stored procedures&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/example-plsql-code-to-demonstrate.html"&gt;Live ORACLE: Example PL/SQL code to demonstrate Dynamic SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/create-database-view-on-top-of-file.html"&gt;Live ORACLE: Create a database view on top of a file&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/writing-to-file-using-utlfile-package.html"&gt;Live ORACLE: writing to a file using the UTL_FILE package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/fetch-long-column-values-piece-wise.html"&gt;Live ORACLE: Fetch Long column values piece-wise from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/load-binary-file-images-documents-etc.html"&gt;Live ORACLE: Load a binary file (images, documents, etc) into a database table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/fetch-lob-column-values-piece-wise-from.html"&gt;Live ORACLE: Fetch LOB column values piece-wise from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/algorithms.html"&gt;Live ORACLE: Algorithms&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/print-ascii-table.html"&gt;Live ORACLE: Print ASCII table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/check-if-year-is-leap-yea-function.html"&gt;Live ORACLE: Check if a year is a leap year (FUNCTION)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/random-number-string-generator-package.html"&gt;Live ORACLE: Random number/ string generator package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/package-with-functions-to-convert.html"&gt;Live ORACLE: Package with functions to convert numbers between the Decimal, Binary, Octal and Hexidecimal numbering systems&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/pass-result-sets-ref-cursor-between.html"&gt;Live ORACLE: Pass Result sets (REF CURSOR) between Procedures and Functions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/oracle-database-programming.html?showComment=1231176900000"&gt;Live ORACLE: Oracle Database Programming&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/download-and-install-oracle-db-and.html?showComment=1237919400000"&gt;Live ORACLE: Download and Install Oracle DB and Developer Step by Step&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/execute-operating-system-commands-from.html?showComment=1243041576260"&gt;Live ORACLE: Execute operating system commands from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/execute-operating-system-commands-from.html?showComment=1247336379245"&gt;Live ORACLE: Execute operating system commands from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2008/12/fetch-long-column-values-piece-wise.html?showComment=1238516580000"&gt;Live ORACLE: Fetch Long column values piece-wise from PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;02/ &lt;span class="lcount"&gt;143 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-rownum.html"&gt;Live ORACLE: Using ROWNUM&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-currval-and-nextval.html"&gt;Live ORACLE: Using CURRVAL and NEXTVAL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/oracle-magazine-marchapril-2009.html"&gt;Live ORACLE: Oracle Magazine - March/April 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/calling-sql-count-function-in-plsql.html"&gt;Live ORACLE: Calling the SQL COUNT Function in PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/substituting-plsql-variables.html"&gt;Live ORACLE: Substituting PL/SQL Variables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/checking-sqlrowcount-after-update.html"&gt;Live ORACLE: Checking SQL%ROWCOUNT After an UPDATE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/data-manipulation-with-plsql.html"&gt;Live ORACLE: Data Manipulation With PL/SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-bulk-collect-with-select-into.html"&gt;Live ORACLE: Using BULK COLLECT With a SELECT INTO Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-returning-clause-with-record.html"&gt;Live ORACLE: Using the RETURNING Clause with a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/updating-row-using-record.html"&gt;Live ORACLE: Updating a Row Using a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/inserting-plsql-record-using-rowtype.html"&gt;Live ORACLE: Inserting a PL/SQL Record Using %ROWTYPE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-select-into-to-assign-values-in.html"&gt;Live ORACLE: Using SELECT INTO to Assign Values in a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-all-fields-of-record-in-one.html"&gt;Live ORACLE: Assigning All the Fields of a Record in One Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-default-values-to-record.html"&gt;Live ORACLE: Assigning Default Values to a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-nested-record.html"&gt;Live ORACLE: Declaring a Nested Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-record-as-parameter-to-procedure.html"&gt;Live ORACLE: Using a Record as Parameter to a Procedure&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/returning-record-from-function.html"&gt;Live ORACLE: Returning a Record from a Function&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-rowtype-to-declare-record.html"&gt;Live ORACLE: Using %ROWTYPE to Declare a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-and-initializing-record-types.html"&gt;Live ORACLE: Declaring and Initializing Record Types&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-and-initializing-simple.html"&gt;Live ORACLE: Declaring and Initializing a Simple Record Type&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/incompatibility-between-package-and.html"&gt;Live ORACLE: Incompatibility Between Package and Local Collection Types&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/how-invalid-subscripts-are-handled-with.html"&gt;Live ORACLE: How Invalid Subscripts are Handled With DELETE(n)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/collection-exceptions.html"&gt;Live ORACLE: Collection Exceptions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-delete-method-on-collection.html"&gt;Live ORACLE: Using the DELETE Method on a Collection&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-trim-on-deleted-elements.html"&gt;Live ORACLE: Using TRIM on Deleted Elements&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-trim-to-decrease-size-of.html"&gt;Live ORACLE: Using TRIM to Decrease the Size of a Collection&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-extend-to-increase-size-of.html"&gt;Live ORACLE: Using EXTEND to Increase the Size of a Collection&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-next-to-access-elements-of-nested.html"&gt;Live ORACLE: Using NEXT to Access Elements of a Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-prior-and-next-to-access.html"&gt;Live ORACLE: Using PRIOR and NEXT to Access Collection Elements&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-first-and-last-with-collection.html"&gt;Live ORACLE: Using FIRST and LAST With a Collection&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/checking-maximum-size-of-collection.html"&gt;Live ORACLE: Checking the Maximum Size of a Collection With LIMIT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/counting-collection-elements-with-count.html"&gt;Live ORACLE: Counting Collection Elements With COUNT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/checking-whether-collection-element.html"&gt;Live ORACLE: Checking Whether a Collection Element EXISTS&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/multilevel-associative-array.html"&gt;Live ORACLE: Multilevel Associative Array&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/multilevel-nested-table.html"&gt;Live ORACLE: Multilevel Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/multilevel-varray.html"&gt;Live ORACLE: Multilevel VARRAY&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/comparing-nested-tables-with-set.html"&gt;Live ORACLE: Comparing Nested Tables with Set Operators&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/comparing-two-nested-tables.html"&gt;Live ORACLE: Comparing Two Nested Tables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/checking-if-collection-is-null.html"&gt;Live ORACLE: Checking if a Collection Is Null&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-tables-with-complex.html"&gt;Live ORACLE: Assigning Values to Tables with Complex Datatypes&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-varrays-with.html"&gt;Live ORACLE: Assigning Values to VARRAYs with Complex Datatypes&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-nested-tables-with-set.html"&gt;Live ORACLE: Assigning Nested Tables with Set Operators&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-null-value-to-nested-table.html"&gt;Live ORACLE: Assigning a Null Value to a Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/datatype-compatibility-for-collection.html"&gt;Live ORACLE: Datatype Compatibility for Collection Assignment&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/referencing-element-of-associative.html"&gt;Live ORACLE: Referencing an Element of an Associative Array&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/referencing-nested-table-element.html"&gt;Live ORACLE: Referencing a Nested Table Element&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/empty-varray-constructor.html"&gt;Live ORACLE: Empty Varray Constructor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/combining-collection-declaration-and.html"&gt;Live ORACLE: Combining Collection Declaration and Constructor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/collection-constructor-including-null.html"&gt;Live ORACLE: Collection Constructor Including Null Elements&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/constructor-for-varray.html"&gt;Live ORACLE: Constructor for a Varray&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/constructor-for-nested-table.html"&gt;Live ORACLE: Constructor for a Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/not-null-constraint-on-collection.html"&gt;Live ORACLE: NOT NULL Constraint on Collection Elements&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/varray-of-records.html"&gt;Live ORACLE: VARRAY of Records&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/specifying-collection-element-types.html"&gt;Live ORACLE: Specifying Collection Element Types with %TYPE and %ROWTYPE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/calling-procedure-with-nested-table.html"&gt;Live ORACLE: Calling a Procedure With a Nested Table Parameter&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-procedure-parameter-as-nested.html"&gt;Live ORACLE: Declaring a Procedure Parameter as a Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-collections-with-type.html"&gt;Live ORACLE: Declaring Collections with %TYPE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-nested-tables-varrays-and.html"&gt;Live ORACLE: Declaring Nested Tables, Varrays, and Associative Arrays&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-associative-array.html"&gt;Live ORACLE: Declaring an Associative Array&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-collection-types.html"&gt;Live ORACLE: Declaring Collection Types&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-null-as-placeholder-when-creating.html"&gt;Live ORACLE: Using NULL as a Placeholder When Creating a Subprogram&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-null-statement-to-show-no-action.html"&gt;Live ORACLE: Using the NULL Statement to Show No Action&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-goto-statement-to-branch.html"&gt;Live ORACLE: Using a GOTO Statement to Branch an Enclosing Block&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-null-statement-to-allow-goto-to.html"&gt;Live ORACLE: Using a NULL Statement to Allow a GOTO to a Label&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-simple-goto-statement.html"&gt;Live ORACLE: Using a Simple GOTO Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-exit-with-label-in-loop.html"&gt;Live ORACLE: Using EXIT With a Label in a LOOP&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-exit-in-loop.html"&gt;Live ORACLE: Using EXIT in a LOOP&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-labels-on-loops-for-referencing.html"&gt;Live ORACLE: Using Labels on Loops for Referencing&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-label-for-referencing-variables.html"&gt;Live ORACLE: Using a Label for Referencing Variables Outside a Loop&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/scope-of-loop-counter-variable.html"&gt;Live ORACLE: Scope of the LOOP Counter Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/specifying-loop-range-at-run-time.html"&gt;Live ORACLE: Specifying a LOOP Range at Run Time&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/changing-increment-of-counter-in.html"&gt;Live ORACLE: Changing the Increment of the Counter in a FOR..LOOP Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-reverse-forloop-statement.html"&gt;Live ORACLE: Using a Reverse FOR..LOOP Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-simple-forloop-statement.html"&gt;Live ORACLE: Using a Simple FOR..LOOP Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-exit-with-labeled-loops.html"&gt;Live ORACLE: Using EXIT With Labeled Loops&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-exit-statement.html"&gt;Live ORACLE: Using an EXIT Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-searched-case-statement.html"&gt;Live ORACLE: Using the Searched CASE Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-case-when-statement.html"&gt;Live ORACLE: Using the CASE-WHEN Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/extended-if-then-statement.html"&gt;Live ORACLE: Extended IF-THEN Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-if-then-elseif-statement.html"&gt;Live ORACLE: Using the IF-THEN-ELSIF Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/nested-if-statements.html"&gt;Live ORACLE: Nested IF Statements&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-simple-if-then-else-statement.html"&gt;Live ORACLE: Using a Simple IF-THEN-ELSE Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-simple-if-then-statement.html"&gt;Live ORACLE: Using a Simple IF-THEN Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-function-rtrim.html"&gt;Live ORACLE: Using the Function RTRIM&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/comparing-character-values.html"&gt;Live ORACLE: Comparing Character Values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/implicit-conversion.html"&gt;Live ORACLE: Implicit Conversion&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-subtype-with-type-and-rowtype.html"&gt;Live ORACLE: Using SUBTYPE With %TYPE and %ROWTYPE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/default-value-with-subtypes.html"&gt;Live ORACLE: Default Value With Subtypes&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/constraints-inherited-by-subprograms.html"&gt;Live ORACLE: Constraints Inherited by Subprograms&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/type-compatibility-with-number-datatype.html"&gt;Live ORACLE: Type Compatibility With the NUMBER Datatype&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-ranges-with-subtypes.html"&gt;Live ORACLE: Using Ranges With Subtypes&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literals-to-interval-day-to.html"&gt;Live ORACLE: Assigning Literals to an INTERVAL DAY TO SECOND Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literals-to-interval-year-to.html"&gt;Live ORACLE: Assigning Literals to an INTERVAL YEAR TO MONTH Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literal-value-to-timestamp_09.html"&gt;Live ORACLE: Assigning a Literal Value to a TIMESTAMP WITH LOCAL TIME ZONE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literal-to-timestamp-with.html"&gt;Live ORACLE: Assigning a Literal to a TIMESTAMP WITH TIME ZONE Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-scntotimestamp-and-timestamptoscn.html"&gt;Live ORACLE: Using the SCN_TO_TIMESTAMP and TIMESTAMP_TO_SCN Functions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literal-value-to-timestamp.html"&gt;Live ORACLE: Assigning a Literal Value to a TIMESTAMP Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-function-replace.html"&gt;Live ORACLE: Using the Function REPLACE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-function-nvl.html"&gt;Live ORACLE: Using the Function NVL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-function-decode.html"&gt;Live ORACLE: Using the Function DECODE&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-nulls-in-comparisons.html"&gt;Live ORACLE: Using NULLs in Comparisons&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-search-condition-with-case.html"&gt;Live ORACLE: Using a Search Condition With a CASE Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-when-clause-with-case-statement.html"&gt;Live ORACLE: Using the WHEN Clause With a CASE Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-boolean-variables-in-conditional.html"&gt;Live ORACLE: Using BOOLEAN Variables in Conditional Tests&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-comparison-operators.html"&gt;Live ORACLE: Using Comparison Operators&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/short-circuit-evaluation.html"&gt;Live ORACLE: Short-Circuit Evaluation&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-query-result-to-variable.html"&gt;Live ORACLE: Assigning a Query Result to a Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-boolean-values.html"&gt;Live ORACLE: Assigning BOOLEAN Values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/initialization-of-variables-and.html"&gt;Live ORACLE: Initialization of Variables and Constants&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/plsql-block-using-multiple-and.html"&gt;Live ORACLE: PL/SQL Block Using Multiple and Duplicate Labels&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/replace-letter-from-word-by-number.html"&gt;Live ORACLE: Replace letter from word by number&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-subprogram-qualifier-with.html"&gt;Live ORACLE: Using Subprogram Qualifier With Identifiers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-label-qualifier-with-identifiers.html"&gt;Live ORACLE: Using a Label Qualifier With Identifiers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/scope-rules.html"&gt;Live ORACLE: Scope Rules&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-subprogram-name-for-name.html"&gt;Live ORACLE: Using a Subprogram Name for Name Resolution&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-block-label-for-name-resolution.html"&gt;Live ORACLE: Using a Block Label for Name Resolution&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-alias-for-column-names.html"&gt;Live ORACLE: Using an Alias for Column Names&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-record-with-rowtype.html"&gt;Live ORACLE: Assigning Values to a Record With a %ROWTYPE Declaration&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-rowtype-attribute.html"&gt;Live ORACLE: Using the %ROWTYPE Attribute&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-rowtype-with-table-rows.html"&gt;Live ORACLE: Using %ROWTYPE With Table Rows&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-type-with-table-columns.html"&gt;Live ORACLE: Using %TYPE With Table Columns&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-type-with-datatype-of-variable.html"&gt;Live ORACLE: Using %TYPE With the Datatype of a Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/creating-database-trigger.html"&gt;Live ORACLE: Creating a Database Trigger&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/techniques-for-calling-standalone.html"&gt;Live ORACLE: Techniques for Calling a Standalone Procedure From SQL*Plus&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/creating-stored-subprogram.html"&gt;Live ORACLE: Creating a Stored Subprogram&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/defining-object-type.html"&gt;Live ORACLE: Defining an Object Type&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/declaring-record-type.html"&gt;Live ORACLE: Declaring a Record Type&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-plsql-collection-type.html"&gt;Live ORACLE: Using a PL/SQL Collection Type&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/creating-package-and-package-body.html"&gt;Live ORACLE: Creating a Package and Package Body&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-goto-statement.html"&gt;Live ORACLE: Using the GOTO Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-exit-when-statement.html"&gt;Live ORACLE: Using the EXIT-WHEN Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-while-loop-for-control.html"&gt;Live ORACLE: Using WHILE-LOOP for Control&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-for-loop.html"&gt;Live ORACLE: Using the FOR-LOOP&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-if-thenelse-and-case-statement.html"&gt;Live ORACLE: Using the IF-THEN_ELSE and CASE Statement for Conditional Control&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-rowtype-with-explicit-cursor.html"&gt;Live ORACLE: Using %ROWTYPE with an Explicit Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/processing-query-results-in-loop.html"&gt;Live ORACLE: Processing Query Results in a LOOP&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-variables-as.html"&gt;Live ORACLE: Assigning Values to Variables as Parameters of a Subprogram&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-variables-by.html"&gt;Live ORACLE: Assigning Values to Variables by SELECTing INTO&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-values-to-variables-with.html"&gt;Live ORACLE: Assigning Values to Variables With the Assignment Operator&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/substituting-plsql-variables.html?showComment=1235453880000"&gt;Live ORACLE: Substituting PL/SQL Variables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-next-to-access-elements-of-nested.html?showComment=1236755280000"&gt;Live ORACLE: Using NEXT to Access Elements of a Nested Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/using-if-then-elseif-statement.html?showComment=1257684926353"&gt;Live ORACLE: Using the IF-THEN-ELSIF Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/02/assigning-literals-to-interval-day-to.html?showComment=1236150360000"&gt;Live ORACLE: Assigning Literals to an INTERVAL DAY TO SECOND Variable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;03/ &lt;span class="lcount"&gt;27 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-rollback.html"&gt;Live ORACLE: Using ROLLBACK&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-commit-with-write-clause.html"&gt;Live ORACLE: Using COMMIT With the WRITE Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-cursor-expression.html"&gt;Live ORACLE: Using a Cursor Expression&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/declaration-of-cursor-variables-in.html"&gt;Live ORACLE: Declaration of Cursor Variables in a Package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/fetching-from-cursor-variable-into_17.html"&gt;Live ORACLE: Fetching from a Cursor Variable into Collections&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/fetching-from-cursor-variable-into.html"&gt;Live ORACLE: Fetching from a Cursor Variable into a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/cursor-variable-with-different-return.html"&gt;Live ORACLE: Cursor Variable with Different Return Types&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/stored-procedure-to-open-ref-cursors.html"&gt;Live ORACLE: Stored Procedure to Open Ref Cursors with Different Queries&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/stored-procedure-to-open-ref-cursor.html"&gt;Live ORACLE: Stored Procedure to Open a Ref Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/checking-if-cursor-variable-is-open.html"&gt;Live ORACLE: Checking If a Cursor Variable is Open&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/passing-ref-cursor-as-parameter.html"&gt;Live ORACLE: Passing a REF CURSOR as a Parameter&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/passing-parameters-to-explicit-cursors.html"&gt;Live ORACLE: Passing Parameters to Explicit Cursors&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/passing-parameters-to-cursor-for-loop.html"&gt;Live ORACLE: Passing Parameters to a Cursor FOR Loop&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-correlated-subquery.html"&gt;Live ORACLE: Using a Correlated Subquery&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-subquery-in-from-clause.html"&gt;Live ORACLE: Using a Subquery in a FROM Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-subquery-in-cursor.html"&gt;Live ORACLE: Using a Subquery in a Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-alias-for-expressions-in-query.html"&gt;Live ORACLE: Using an Alias For Expressions in a Query&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-rowcount.html"&gt;Live ORACLE: Using %ROWCOUNT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-notfound.html"&gt;Live ORACLE: Using %NOTFOUND&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-isopen.html"&gt;Live ORACLE: Using %ISOPEN&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-found.html"&gt;Live ORACLE: Using %FOUND&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/fetching-bulk-data-with-cursor.html"&gt;Live ORACLE: Fetching Bulk Data With a Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/fetching-same-cursor-into-different.html"&gt;Live ORACLE: Fetching the Same Cursor Into Different Variables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/referencing-plsql-variables-within-its.html"&gt;Live ORACLE: Referencing PL/SQL Variables Within Its Scope&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/fetching-with-cursor.html"&gt;Live ORACLE: Fetching With a Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-sqlrowcount.html"&gt;Live ORACLE: Using SQL%ROWCOUNT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/03/using-sqlfound.html"&gt;Live ORACLE: Using SQL%FOUND&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;04/ &lt;span class="lcount"&gt;2 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/04/day-when-most-of-employees-were-hired.html"&gt;Live ORACLE: The day when most of employees were Hired&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/04/oracle-magazine-mayjune-2009.html"&gt;Live ORACLE: Oracle Magazine - May/June 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;05/ &lt;span class="lcount"&gt;35 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/employees-period-by-years-and-months.html"&gt;Live ORACLE: The Employee's Period by years and months&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/know-current-user-of-your-session-by.html"&gt;Live ORACLE: Know the Current USER of your Session by SQL Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/aliasing-from-passing-global-variable.html"&gt;Live ORACLE: Aliasing from Passing Global Variable with NOCOPY Hint&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/specifying-invokers-rights-with.html"&gt;Live ORACLE: Specifying Invoker's Rights With a Procedure&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/resolving-plsql-functions-with.html"&gt;Live ORACLE: Resolving PL/SQL Functions With Inheritance&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/resolving-plsql-procedure-names.html"&gt;Live ORACLE: Resolving PL/SQL Procedure Names&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/overloading-subprogram-name.html"&gt;Live ORACLE: Overloading a Subprogram Name&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/procedure-with-default-parameter-values.html"&gt;Live ORACLE: Procedure with Default Parameter Values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-out-mode.html"&gt;Live ORACLE: Using the OUT Mode&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/subprogram-calls-using-positional-named.html"&gt;Live ORACLE: Subprogram Calls Using Positional, Named, and Mixed Notation&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/formal-parameters-and-actual-parameters.html"&gt;Live ORACLE: Formal Parameters and Actual Parameters&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/forward-declaration-for-nested.html"&gt;Live ORACLE: Forward Declaration for a Nested Subprogram&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/simple-plsql-function.html"&gt;Live ORACLE: Simple PL/SQL Function&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/declare-instring-varchar2-100-this-is.html"&gt;Live ORACLE: Simple PL/SQL Procedure&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/dynamic-sql-fetching-into-record.html"&gt;Live ORACLE: Dynamic SQL Fetching into a Record&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/accessing-rowcount-for-explicit-cursor.html"&gt;Live ORACLE: Accessing %ROWCOUNT For an Explicit Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-duplicate-placeholders-with.html"&gt;Live ORACLE: Using Duplicate Placeholders With Dynamic SQL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/oracle-forms-tutorial.html"&gt;Live ORACLE: Oracle Forms Tutorial (www.aboutoracleapps.com)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/dynamic-sql-inside-forall-statement.html"&gt;Live ORACLE: Dynamic SQL Inside FORALL Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/dynamic-sql-with-returning-bulk-collect.html"&gt;Live ORACLE: Dynamic SQL with RETURNING BULK COLLECT INTO Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/dynamic-sql-with-bulk-collect-into.html"&gt;Live ORACLE: Dynamic SQL with BULK COLLECT INTO Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/dynamic-sql-procedure-that-accepts.html"&gt;Live ORACLE: Dynamic SQL Procedure that Accepts Table Name and WHERE Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/calling-autonomous-function.html"&gt;Live ORACLE: Calling an Autonomous Function&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-autonomous-triggers.html"&gt;Live ORACLE: Using Autonomous Triggers&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/declaring-autonomous-trigger.html"&gt;Live ORACLE: Declaring an Autonomous Trigger&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/declaring-autonomous-plsql-block.html"&gt;Live ORACLE: Declaring an Autonomous PL/SQL Block&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/declaring-autonomous-standalone.html"&gt;Live ORACLE: Declaring an Autonomous Standalone Procedure&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/declaring-autonomous-function-in.html"&gt;Live ORACLE: Declaring an Autonomous Function in a Package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-rowtype-with-cursors-reference.html"&gt;Live ORACLE: Using %ROWTYPE with Cursors reference ROWID&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/fetching-across-commits-using-rowid.html"&gt;Live ORACLE: Fetching Across COMMITs Using ROWID&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/fetching-across-commits.html"&gt;Live ORACLE: Fetching Across Commits&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-current-of-to-update-latest-row.html"&gt;Live ORACLE: Using CURRENT OF to Update the Latest Row Fetched From a Cursor&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-set-transaction-to-begin-read.html"&gt;Live ORACLE: Using SET TRANSACTION to Begin a Read-only Transaction&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/reusing-savepoint-with-rollback.html"&gt;Live ORACLE: Reusing a SAVEPOINT With ROLLBACK&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/05/using-savepoint-with-rollback.html"&gt;Live ORACLE: Using SAVEPOINT With ROLLBACK&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;06/ &lt;span class="lcount"&gt;3 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/06/oracle-reports-online-help-help.html"&gt;Live ORACLE: Oracle Reports Online Help (Help Contents)&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/06/oracle-forms-online-help.html"&gt;Live ORACLE: Oracle Forms Online Help&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/06/oracle-magazine-julyaugust-2009.html"&gt;Live ORACLE: Oracle Magazine - July/August 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;07/ &lt;span class="lcount"&gt;2 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/07/delete-value-from-lov-after-selecting.html"&gt;Live ORACLE: Delete Value from LOV after selecting it&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/07/delete-value-from-lov-after-selecting.html?showComment=1248529190597"&gt;Live ORACLE: Delete Value from LOV after selecting it&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;09/ &lt;span class="lcount"&gt;1 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/09/oracle-magazine-septemberoctober-2009.html"&gt;Live ORACLE: Oracle Magazine - September/October 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;10/ &lt;span class="lcount"&gt;7 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/creating-empadmin-package.html"&gt;Live ORACLE: Creating the emp_admin Package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/matching-package-specifications-and.html"&gt;Live ORACLE: Matching Package Specifications and Bodies&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/simple-package-specification-without.html"&gt;Live ORACLE: A Simple Package Specification Without a Body&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/aliasing-from-assigning-cursor.html"&gt;Live ORACLE: Aliasing from Assigning Cursor Variables to Same Work Area&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/aliasing-passing-same-parameter.html"&gt;Live ORACLE: Aliasing Passing Same Parameter Multiple Times&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/scrollview-built-in.html"&gt;Live ORACLE: SCROLL_VIEW Built-in&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/10/novemberdecember-2009.html"&gt;Live ORACLE: November/December 2009&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;tr valign="top"&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lbullet"&gt;    &lt;/td&gt; &lt;td class="lpart" colspan="98"&gt;&lt;div class="lhead"&gt;11/ &lt;span class="lcount"&gt;47 pages&lt;/span&gt;&lt;/div&gt;  &lt;table&gt;  &lt;tbody&gt;&lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-deref-in-select-into-statement.html"&gt;Live ORACLE: Using DEREF in a SELECT INTO Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/updating-rows-in-object-table-with-ref.html"&gt;Live ORACLE: Updating Rows in an Object Table With a REF Modifier&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/updating-and-deleting-rows-in-object.html"&gt;Live ORACLE: Updating and Deleting Rows in an Object Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/inserting-rows-in-object-table.html"&gt;Live ORACLE: Inserting Rows in an Object Table&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/accessing-object-attributes.html"&gt;Live ORACLE: Accessing Object Attributes&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/null-objects-in-plsql-block.html"&gt;Live ORACLE: Null Objects in a PL/SQL Block&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/declaring-object-types-in-plsql-block.html"&gt;Live ORACLE: Declaring Object Types in a PL/SQL Block&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/site-map.html"&gt;Live ORACLE: Site Map&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/working-with-object-types.html"&gt;Live ORACLE: Working With Object Types&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-pipelined-table-function-as.html"&gt;Live ORACLE: Using a Pipelined Table Function as an Aggregate Function&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-multiple-ref-cursor-input.html"&gt;Live ORACLE: Using Multiple REF CURSOR Input Variables&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-pipelined-table-function-for.html"&gt;Live ORACLE: Using a Pipelined Table Function For a Transformation&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/assigning-result-of-table-function.html"&gt;Live ORACLE: Assigning the Result of a Table Function&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/checking-for-plsql-compilation-type.html"&gt;Live ORACLE: Checking for PLSQL Compilation Type&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/declare-type-emptabtyp-is-table-of.html"&gt;Live ORACLE: Using NOCOPY With Parameters&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/setcanvasproperty-built-in.html"&gt;Live ORACLE: SET_CANVAS_PROPERTY Built-in&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-forall-with-bulk-collect.html"&gt;Live ORACLE: Using FORALL With BULK COLLECT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-bulk-collect-with-returning-into.html"&gt;Live ORACLE: Using BULK COLLECT With the RETURNING INTO Clause&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-limit-to-control-number-of-rows.html"&gt;Live ORACLE: Using LIMIT to Control the Number of Rows In a BULK COLLECT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/bulk-fetching-from-cursor-into.html"&gt;Live ORACLE: Bulk-Fetching from a Cursor Into a Collection of Records&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/bulk-fetching-from-cursor-into-one-or.html"&gt;Live ORACLE: Bulk-Fetching from a Cursor Into One or More Collections&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-pseudocolumn-rownum-to-limit.html"&gt;Live ORACLE: Using the Pseudocolumn ROWNUM to Limit Query Results&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/retrieving-query-results-with-bulk.html"&gt;Live ORACLE: Retrieving Query Results With BULK COLLECT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/bulk-operation-that-continues-despite.html"&gt;Live ORACLE: Bulk Operation That Continues Despite Exceptions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/counting-rows-affected-by-forall-with.html"&gt;Live ORACLE: Counting Rows Affected by FORALL With %BULK_ROWCOUNT&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-bulkrowcount-with-forall.html"&gt;Live ORACLE: Using %BULK_ROWCOUNT With the FORALL Statement&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-rollbacks-with-forall.html"&gt;Live ORACLE: Using Rollbacks With FORALL&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-forall-with-non-consecutive-index.html"&gt;Live ORACLE: Using FORALL with Non-Consecutive Index Values&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-forall-with-part-of-collection.html"&gt;Live ORACLE: Using FORALL with Part of a Collection&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/issuing-delete-statements-in-loop.html"&gt;Live ORACLE: Issuing DELETE Statements in a Loop&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/nesting-query-to-improve-performance.html"&gt;Live ORACLE: Nesting a Query to Improve Performance&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-dbmswarning-package-to-display.html"&gt;Live ORACLE: Using the DBMS_WARNING Package to Display Warnings&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/controlling-display-of-plsql-warnings.html"&gt;Live ORACLE: Controlling the Display of PL/SQL Warnings&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-locator-variable-to-identify.html"&gt;Live ORACLE: Using a Locator Variable to Identify the Location of an Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/retrying-transaction-after-exception.html"&gt;Live ORACLE: Retrying a Transaction After an Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/continuing-after-exception-is-raised.html"&gt;Live ORACLE: Continuing after an Exception Is Raised&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/displaying-sqlcode-and-sqlerrm.html"&gt;Live ORACLE: Displaying SQLCODE and SQLERRM&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/how-plsql-exceptions-propagate.html"&gt;Live ORACLE: How PL/SQL Exceptions Propagate&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/reraising-plsql-exception.html"&gt;Live ORACLE: Reraising a PL/SQL Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/scope-of-exception.html"&gt;Live ORACLE: Scope of an Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-raise-to-force-pre-defined.html"&gt;Live ORACLE: Using RAISE to Force a Pre-Defined Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-raise-to-force-user-defined.html"&gt;Live ORACLE: Using RAISE to Force a User-Defined Exception&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/raising-application-error-with.html"&gt;Live ORACLE: Raising an Application Error With raise_application_error&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/scope-of-plsql-exceptions.html"&gt;Live ORACLE: Scope of PL/SQL Exceptions&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/managing-multiple-errors-with-single.html"&gt;Live ORACLE: Managing Multiple Errors With a Single Exception Handler&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/runtime-error-handling.html"&gt;Live ORACLE: Runtime Error Handling&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td class="lpage"&gt;&lt;a href="http://hany4u.blogspot.com/2009/11/using-putline-in-dbmsoutput-package.html"&gt;Live ORACLE: Using PUT_LINE in the DBMS_OUTPUT Package&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;/td&gt; &lt;/tr&gt;  &lt;/tbody&gt;&lt;/table&gt;  &lt;br /&gt;&lt;br /&gt;&lt;hr size="1"&gt; &lt;!-- PLEASE NOTE! You are NOT allowed to remove and/or modify the copyright notice below. Thank you! www.xml-sitemaps.com --&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1292649092507563519?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1292649092507563519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1292649092507563519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1292649092507563519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1292649092507563519'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/site-map.html' title='Site Map'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-3622109644378175941</id><published>2009-11-08T06:02:00.006+02:00</published><updated>2009-11-08T06:10:09.965+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>SET_CANVAS_PROPERTY Built-in</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;Learn how to deal with &lt;b&gt;&lt;span class="Apple-style-span"  style="color:#660000;"&gt;SET_CANVAS_PROPERTY&lt;/span&gt;&lt;/b&gt; Built-in  by little practical project ........ download it from here:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" target=_blank href="http://www.4shared.com/file/148230857/93531f4b/SET_CANVAS_PROPERTY.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 150px; height: 61px;" src="http://3.bp.blogspot.com/_hZQrAX9ISTE/SvZDaP3WcQI/AAAAAAAADZ4/RJXxABcOAps/s400/accw2p.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5401578921291837698" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-3622109644378175941?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/3622109644378175941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=3622109644378175941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3622109644378175941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3622109644378175941'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/setcanvasproperty-built-in.html' title='SET_CANVAS_PROPERTY Built-in'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_hZQrAX9ISTE/SvZDaP3WcQI/AAAAAAAADZ4/RJXxABcOAps/s72-c/accw2p.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-616365637612664938</id><published>2009-11-04T21:24:00.001+02:00</published><updated>2009-11-04T21:27:22.248+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using FORALL With BULK COLLECT</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numlist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMLIST&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Numlist&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;enum_t&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_t&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;e_ids&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;ENUM_T&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;d_ids&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DEPT_T&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Depts&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;RETURNING&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;e_ids&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;d_ids&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Deleted '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;ROWCOUNT&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' rows:'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;e_ids&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;e_ids&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Employee #'&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;E_ids&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' from dept #'&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;D_ids&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Deleted 9 rows:&lt;br /&gt;Employee #200 from dept #10&lt;br /&gt;Employee #201 from dept #20&lt;br /&gt;Employee #202 from dept #20&lt;br /&gt;Employee #114 from dept #30&lt;br /&gt;Employee #115 from dept #30&lt;br /&gt;Employee #116 from dept #30&lt;br /&gt;Employee #117 from dept #30&lt;br /&gt;Employee #118 from dept #30&lt;br /&gt;Employee #119 from dept #30&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-616365637612664938?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/616365637612664938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=616365637612664938' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/616365637612664938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/616365637612664938'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-forall-with-bulk-collect.html' title='Using FORALL With BULK COLLECT'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1616606306832531279</id><published>2009-11-04T21:19:00.002+02:00</published><updated>2009-11-04T21:22:46.033+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using BULK COLLECT With the RETURNING INTO Clause</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numlist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMLIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;namelist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NAMELIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;RETURNING&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Deleted '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;ROWCOUNT&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' rows:'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Employee #'&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Enums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;': '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Names&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Deleted 6 rows:&lt;br /&gt;Employee #114: Raphaely&lt;br /&gt;Employee #115: Khoo&lt;br /&gt;Employee #116: Baida&lt;br /&gt;Employee #117: Tobias&lt;br /&gt;Employee #118: Himuro&lt;br /&gt;Employee #119: Colmenares&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1616606306832531279?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1616606306832531279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1616606306832531279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1616606306832531279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1616606306832531279'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-bulk-collect-with-returning-into.html' title='Using BULK COLLECT With the RETURNING INTO Clause'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-304616319694420829</id><published>2009-11-04T21:17:00.001+02:00</published><updated>2009-11-04T21:19:51.193+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using LIMIT to Control the Number of Rows In a BULK COLLECT</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numtab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;80&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;empids&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMTAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;ROWS&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- the following statement fetches 10 rows or less in each iteration&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;empids&lt;/span&gt; &lt;span style="color:blue;"&gt;LIMIT&lt;/span&gt; &lt;span style="color:blue;"&gt;ROWS&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;EXIT&lt;/span&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;empids&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- EXIT WHEN c1%NOTFOUND; -- incorrect, can omit some data&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'------- Results from Each Bulk Fetch --------'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;empids&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Employee Id: '&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Empids&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CLOSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;------- Results from Each Bulk Fetch --------&lt;br /&gt;Employee Id: 145&lt;br /&gt;Employee Id: 146&lt;br /&gt;Employee Id: 147&lt;br /&gt;Employee Id: 148&lt;br /&gt;Employee Id: 149&lt;br /&gt;Employee Id: 150&lt;br /&gt;Employee Id: 151&lt;br /&gt;Employee Id: 152&lt;br /&gt;Employee Id: 153&lt;br /&gt;Employee Id: 154&lt;br /&gt;------- Results from Each Bulk Fetch --------&lt;br /&gt;Employee Id: 155&lt;br /&gt;Employee Id: 156&lt;br /&gt;Employee Id: 157&lt;br /&gt;Employee Id: 158&lt;br /&gt;Employee Id: 159&lt;br /&gt;Employee Id: 160&lt;br /&gt;Employee Id: 161&lt;br /&gt;Employee Id: 162&lt;br /&gt;Employee Id: 163&lt;br /&gt;Employee Id: 164&lt;br /&gt;------- Results from Each Bulk Fetch --------&lt;br /&gt;Employee Id: 165&lt;br /&gt;Employee Id: 166&lt;br /&gt;Employee Id: 167&lt;br /&gt;Employee Id: 168&lt;br /&gt;Employee Id: 169&lt;br /&gt;Employee Id: 170&lt;br /&gt;Employee Id: 171&lt;br /&gt;Employee Id: 172&lt;br /&gt;Employee Id: 173&lt;br /&gt;Employee Id: 174&lt;br /&gt;------- Results from Each Bulk Fetch --------&lt;br /&gt;Employee Id: 175&lt;br /&gt;Employee Id: 176&lt;br /&gt;Employee Id: 177&lt;br /&gt;Employee Id: 179&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-304616319694420829?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/304616319694420829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=304616319694420829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/304616319694420829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/304616319694420829'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-limit-to-control-number-of-rows.html' title='Using LIMIT to Control the Number of Rows In a BULK COLLECT'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-2845332730939842676</id><published>2009-11-04T21:15:00.000+02:00</published><updated>2009-11-04T21:17:17.257+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Bulk-Fetching from a Cursor Into a Collection of Records</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;deptrectab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;ROWTYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dept_recs&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DEPTRECTAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:maroon;"&gt;department_name&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:maroon;"&gt;manager_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:maroon;"&gt;location_id&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;&gt;&lt;/span&gt; &lt;span style="color:black;"&gt;70&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_recs&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-2845332730939842676?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/2845332730939842676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=2845332730939842676' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2845332730939842676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/2845332730939842676'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/bulk-fetching-from-cursor-into.html' title='Bulk-Fetching from a Cursor Into a Collection of Records'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-3045078481388543290</id><published>2009-11-04T21:09:00.001+02:00</published><updated>2009-11-04T21:12:55.915+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Bulk-Fetching from a Cursor Into One or More Collections</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;namelist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;sallist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CURSOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;salary&lt;/span&gt; &lt;span style="color:silver;"&gt;&gt;&lt;/span&gt; &lt;span style="color:black;"&gt;10000&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;NAMELIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;sals&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;SALLIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;reclist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;ROWTYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;recs&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;RECLIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;v_limit&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- check if collections are empty&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'No results!'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;ELSE&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Results: '&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;' Employee '&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Names&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color:red;"&gt;': $'&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Sals&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--- Processing all results at once ---'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;sals&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CLOSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--- Processing '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:maroon;"&gt;v_limit&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:red;"&gt;' rows at a time ---'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;sals&lt;/span&gt; &lt;span style="color:blue;"&gt;LIMIT&lt;/span&gt; &lt;span style="color:maroon;"&gt;v_limit&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;EXIT&lt;/span&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;CLOSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--- Fetching records rather than columns ---'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;OPEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FETCH&lt;/span&gt; &lt;span style="color:maroon;"&gt;c1&lt;/span&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;recs&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;recs&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;recs&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- Now all the columns from the result set come from a single record&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;' Employee '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Recs&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;': $'&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Recs&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;--- Processing all results at once ---&lt;br /&gt;Results:&lt;br /&gt;Employee Hartstein: $13000&lt;br /&gt;Employee Higgins: $12000&lt;br /&gt;Employee King: $24000&lt;br /&gt;Employee Kochhar: $17000&lt;br /&gt;Employee De Haan: $17000&lt;br /&gt;Employee Greenberg: $12000&lt;br /&gt;Employee Raphaely: $11000&lt;br /&gt;Employee Russell: $14000&lt;br /&gt;Employee Partners: $13500&lt;br /&gt;Employee Errazuriz: $12000&lt;br /&gt;Employee Cambrault: $11000&lt;br /&gt;Employee Zlotkey: $10500&lt;br /&gt;Employee Vishney: $10500&lt;br /&gt;Employee Ozer: $11500&lt;br /&gt;Employee Abel: $11000&lt;br /&gt;--- Processing 10 rows at a time ---&lt;br /&gt;Results:&lt;br /&gt;Employee Hartstein: $13000&lt;br /&gt;Employee Higgins: $12000&lt;br /&gt;Employee King: $24000&lt;br /&gt;Employee Kochhar: $17000&lt;br /&gt;Employee De Haan: $17000&lt;br /&gt;Employee Greenberg: $12000&lt;br /&gt;Employee Raphaely: $11000&lt;br /&gt;Employee Russell: $14000&lt;br /&gt;Employee Partners: $13500&lt;br /&gt;Employee Errazuriz: $12000&lt;br /&gt;Results:&lt;br /&gt;Employee Cambrault: $11000&lt;br /&gt;Employee Zlotkey: $10500&lt;br /&gt;Employee Vishney: $10500&lt;br /&gt;Employee Ozer: $11500&lt;br /&gt;Employee Abel: $11000&lt;br /&gt;--- Fetching records rather than columns ---&lt;br /&gt;Employee Hartstein: $13000&lt;br /&gt;Employee Higgins: $12000&lt;br /&gt;Employee King: $24000&lt;br /&gt;Employee Kochhar: $17000&lt;br /&gt;Employee De Haan: $17000&lt;br /&gt;Employee Greenberg: $12000&lt;br /&gt;Employee Raphaely: $11000&lt;br /&gt;Employee Russell: $14000&lt;br /&gt;Employee Partners: $13500&lt;br /&gt;Employee Errazuriz: $12000&lt;br /&gt;Employee Cambrault: $11000&lt;br /&gt;Employee Zlotkey: $10500&lt;br /&gt;Employee Vishney: $10500&lt;br /&gt;Employee Ozer: $11500&lt;br /&gt;Employee Abel: $11000&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-3045078481388543290?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/3045078481388543290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=3045078481388543290' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3045078481388543290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3045078481388543290'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/bulk-fetching-from-cursor-into-one-or.html' title='Bulk-Fetching from a Cursor Into One or More Collections'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-3492134403440320641</id><published>2009-11-04T21:02:00.000+02:00</published><updated>2009-11-04T21:04:09.041+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using the Pseudocolumn ROWNUM to Limit Query Results</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;sallist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;sals&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;SALLIST&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Limit the number of rows to 50&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;sals&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:blue;"&gt;ROWNUM&lt;/span&gt; &lt;span style="color:silver;"&gt;&lt;=&lt;/span&gt; &lt;span style="color:black;"&gt;50&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Retrieve 10% (approximately) of the rows in the table&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;sals&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt; &lt;span style="color:blue;"&gt;SAMPLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt; &lt;span style="color:black;"&gt;10&lt;/span&gt; &lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-3492134403440320641?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/3492134403440320641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=3492134403440320641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3492134403440320641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3492134403440320641'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-pseudocolumn-rownum-to-limit.html' title='Using the Pseudocolumn ROWNUM to Limit Query Results'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-4687649879953008182</id><published>2009-11-04T20:46:00.001+02:00</published><updated>2009-11-04T20:48:36.277+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Retrieving Query Results With BULK COLLECT</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numtab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;nametab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMTAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- No need to initialize the collections.&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;names&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NAMETAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Values will be filled in by the SELECT INTO.&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'No results!'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;ELSE&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Results:'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;' Employee #'&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Enums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color:red;"&gt;': '&lt;/span&gt;&lt;br /&gt;                            ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Names&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Retrieve data for employees with Ids greater than 1000&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;&gt;&lt;/span&gt; &lt;span style="color:black;"&gt;1000&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- The data has all been brought into memory by BULK COLLECT&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- No need to FETCH each row from the result set&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Retrieve approximately 20% of all rows&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;enums&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:maroon;"&gt;names&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt; &lt;span style="color:blue;"&gt;SAMPLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt; &lt;span style="color:black;"&gt;20&lt;/span&gt; &lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Print_results&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;No results!&lt;br /&gt;Results:&lt;br /&gt;Employee #200: Whalen&lt;br /&gt;Employee #206: Gietz&lt;br /&gt;Employee #100: King&lt;br /&gt;Employee #104: Ernst&lt;br /&gt;Employee #107: Lorentz&lt;br /&gt;Employee #126: Mikkilineni&lt;br /&gt;Employee #127: Landry&lt;br /&gt;Employee #130: Atkinson&lt;br /&gt;Employee #135: Gee&lt;br /&gt;Employee #156: King&lt;br /&gt;Employee #158: McEwen&lt;br /&gt;Employee #163: Greene&lt;br /&gt;Employee #168: Ozer&lt;br /&gt;Employee #169: Bloom&lt;br /&gt;Employee #170: Fox&lt;br /&gt;Employee #171: Smith&lt;br /&gt;Employee #173: Kumar&lt;br /&gt;Employee #184: Sarchand&lt;br /&gt;Employee #186: Dellinger&lt;br /&gt;Employee #189: Dilly&lt;br /&gt;Employee #193: Everett&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-4687649879953008182?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/4687649879953008182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=4687649879953008182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4687649879953008182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4687649879953008182'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/retrieving-query-results-with-bulk.html' title='Retrieving Query Results With BULK COLLECT'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-3115396539126710593</id><published>2009-11-04T20:39:00.001+02:00</published><updated>2009-11-04T20:43:46.977+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Bulk Operation That Continues Despite Exceptions</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- create a temporary table for this example&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;empid_tab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;emp_sr&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;EMPID_TAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- create an exception handler for ORA-24381&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;errors&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dml_errors&lt;/span&gt;  &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;PRAGMA&lt;/span&gt; &lt;span style="color:blue;"&gt;EXCEPTION_INIT&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;dml_errors&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:silver;"&gt;-&lt;/span&gt;&lt;span style="color:black;"&gt;24381&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_sr&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;hire_date&lt;/span&gt; &lt;span style="color:silver;"&gt;&lt;&lt;/span&gt; &lt;span style="color:red;"&gt;'30-DEC-94'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- add '_SR' to the job_id of the most senior employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_sr&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;emp_sr&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;SAVE&lt;/span&gt; &lt;span style="color:blue;"&gt;EXCEPTIONS&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;UPDATE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SET&lt;/span&gt;    &lt;span style="color:maroon;"&gt;job_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:maroon;"&gt;job_id&lt;/span&gt;&lt;br /&gt;                   ||&lt;span style="color:red;"&gt;'_SR'&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Emp_sr&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- If any errors occurred during the FORALL SAVE EXCEPTIONS,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- a single exception is raised when the statement completes.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;dml_errors&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Now we figure out what failed and why.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;errors&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;BULK_EXCEPTIONS&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Number of statements that failed: '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;errors&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;errors&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Error #'&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:red;"&gt;' occurred during '&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:red;"&gt;'iteration #'&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Bulk_exceptions&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;ERROR_INDEX&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Error message is '&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Sqlerrm&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:silver;"&gt;-&lt;/span&gt;&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Bulk_exceptions&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;ERROR_CODE&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Number of statements that failed: 2&lt;br /&gt;Error #1 occurred during iteration #5&lt;br /&gt;Error message is ORA-12899: value too large for column  (actual: , maximum: )&lt;br /&gt;Error #2 occurred during iteration #12&lt;br /&gt;Error message is ORA-12899: value too large for column  (actual: , maximum: )&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-3115396539126710593?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/3115396539126710593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=3115396539126710593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3115396539126710593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/3115396539126710593'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/bulk-operation-that-continues-despite.html' title='Bulk Operation That Continues Despite Exceptions'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-6624741598764008752</id><published>2009-11-04T20:37:00.000+02:00</published><updated>2009-11-04T20:39:15.275+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Counting Rows Affected by FORALL With %BULK_ROWCOUNT</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_by_dept&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_by_dept&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:black;"&gt;1&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;dept_tab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;deptnums&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DEPT_TAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BULK&lt;/span&gt; &lt;span style="color:blue;"&gt;COLLECT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;deptnums&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;departments&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;deptnums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_by_dept&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Deptnums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;deptnums&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;COUNT&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- Count how many rows were inserted for each department; that is,&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- how many employees are in each department.&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Dept '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Deptnums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;': inserted '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Bulk_rowcount&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' records'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Total records inserted: '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color:blue;"&gt;ROWCOUNT&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Dept 10: inserted 1 records&lt;br /&gt;Dept 20: inserted 2 records&lt;br /&gt;Dept 30: inserted 6 records&lt;br /&gt;Dept 40: inserted 1 records&lt;br /&gt;Dept 50: inserted 45 records&lt;br /&gt;Dept 60: inserted 5 records&lt;br /&gt;Dept 70: inserted 1 records&lt;br /&gt;Dept 80: inserted 34 records&lt;br /&gt;Dept 90: inserted 3 records&lt;br /&gt;Dept 100: inserted 6 records&lt;br /&gt;Dept 110: inserted 2 records&lt;br /&gt;Dept 120: inserted 0 records&lt;br /&gt;Dept 130: inserted 0 records&lt;br /&gt;Dept 140: inserted 0 records&lt;br /&gt;Dept 150: inserted 0 records&lt;br /&gt;Dept 160: inserted 0 records&lt;br /&gt;Dept 170: inserted 0 records&lt;br /&gt;Dept 180: inserted 0 records&lt;br /&gt;Dept 190: inserted 0 records&lt;br /&gt;Dept 200: inserted 0 records&lt;br /&gt;Dept 210: inserted 0 records&lt;br /&gt;Dept 220: inserted 0 records&lt;br /&gt;Dept 230: inserted 0 records&lt;br /&gt;Dept 240: inserted 0 records&lt;br /&gt;Dept 250: inserted 0 records&lt;br /&gt;Dept 260: inserted 0 records&lt;br /&gt;Dept 270: inserted 0 records&lt;br /&gt;Total records inserted: 106&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-6624741598764008752?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/6624741598764008752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=6624741598764008752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6624741598764008752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/6624741598764008752'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/counting-rows-affected-by-forall-with.html' title='Counting Rows Affected by FORALL With %BULK_ROWCOUNT'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-5593726246046888371</id><published>2009-11-04T20:34:00.001+02:00</published><updated>2009-11-04T20:36:40.451+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using %BULK_ROWCOUNT With the FORALL Statement</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numlist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMLIST&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Numlist&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;50&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;60&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Depts&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- How many rows were affected by each DELETE statement?&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Iteration #'&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' deleted '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:blue;"&gt;SQL&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Bulk_rowcount&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' rows.'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Iteration #1 deleted 6 rows.&lt;br /&gt;Iteration #2 deleted 45 rows.&lt;br /&gt;Iteration #3 deleted 5 rows.&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-5593726246046888371?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/5593726246046888371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=5593726246046888371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5593726246046888371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5593726246046888371'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-bulkrowcount-with-forall.html' title='Using %BULK_ROWCOUNT With the FORALL Statement'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-5185215663286326566</id><published>2009-11-04T20:30:00.001+02:00</published><updated>2009-11-04T20:33:17.300+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using Rollbacks With FORALL</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;deptno&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;job&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;18&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numlist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMLIST&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Numlist&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:red;"&gt;'Clerk'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Lengthening this job title causes an exception&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:red;"&gt;'Bookkeeper'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:red;"&gt;'Analyst'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;depts&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Run 3 UPDATE statements.&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;UPDATE&lt;/span&gt; &lt;span style="color:maroon;"&gt;emp_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SET&lt;/span&gt;    &lt;span style="color:maroon;"&gt;job&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:maroon;"&gt;job&lt;/span&gt;&lt;br /&gt;                ||&lt;span style="color:red;"&gt;' (Senior)'&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;deptno&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Depts&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- raises a "value too large" exception&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:blue;"&gt;OTHERS&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Problem in the FORALL statement.'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Commit results of successful updates.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Problem in the FORALL statement.&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-5185215663286326566?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/5185215663286326566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=5185215663286326566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5185215663286326566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5185215663286326566'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-rollbacks-with-forall.html' title='Using Rollbacks With FORALL'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-116065538949917779</id><published>2009-11-04T20:14:00.002+02:00</published><updated>2009-11-04T20:27:16.878+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using FORALL with Non-Consecutive Index Values</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="font-style: italic;color:green;" &gt;-- Create empty tables to hold order details&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;cust_name&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;32&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;amount&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;big_orders&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;big_orders&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:black;"&gt;1&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;rejected_orders&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;rejected_orders&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:black;"&gt;1&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Make collections to hold a set of customer names and order amounts.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SUBTYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_name&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;cust_name&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;CUST_NAME&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;            &lt;span style="font-style: italic;color:black;" &gt;CUST_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SUBTYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;order_amount&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;amount&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;amount_typ&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;amount_tab&lt;/span&gt;          &lt;span style="font-style: italic;color:black;" &gt;AMOUNT_TYP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Make other collections to point into the CUST_TAB collection.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;index_pointer_t&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;big_order_tab&lt;/span&gt;       &lt;span style="font-style: italic;color:black;" &gt;INDEX_POINTER_T&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Index_pointer_t&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;rejected_order_tab&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;INDEX_POINTER_T&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Index_pointer_t&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Setup_data&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;IS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;  &lt;span style="font-style: italic;color:green;" &gt;-- Set up sample order data, including some invalid orders and some 'big' orders.&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Company1'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Company2'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Company3'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'Company4'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                       &lt;span style="color:red;"&gt;'Company5'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;amount_tab&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_typ&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;5000.01&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;150.25&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;4000.00&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Setup_data&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--- Original order data ---'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Customer #'&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:red;"&gt;', '&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:red;"&gt;': $'&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Delete invalid orders (where amount is null or 0).&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Delete&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;amount_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Delete&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'--- Data with invalid orders deleted ---'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Exists&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Customer #'&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color:red;"&gt;', '&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color:red;"&gt;': $'&lt;/span&gt;&lt;br /&gt;                         ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Because the subscripts of the collections are not consecutive, use&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- FORALL...INDICES OF to iterate through the actual subscripts,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- rather than 1..COUNT&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;INDICES&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;valid_orders&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;cust_name&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;              &lt;span style="color:maroon;"&gt;amount&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Now process the order data differently&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Extract 2 subsets and store each subset in a different table&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Setup_data&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Initialize the CUST_TAB and AMOUNT_TAB collections again.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;FIRST&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;cust_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;br /&gt;      &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;0&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;rejected_order_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;extend&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Add a new element to this collection&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;color:green;" &gt;-- Record the subscript from the original collection&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Rejected_order_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;rejected_order_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;&gt;&lt;/span&gt; &lt;span style="color:black;"&gt;2000&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:maroon;"&gt;big_order_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;extend&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Add a new element to this collection&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;color:green;" &gt;-- Record the subscript from the original collection&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Big_order_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;big_order_tab&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:blue;"&gt;LAST&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Now it's easy to run one DML statement on one subset of elements,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- and another DML statement on a different subset.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;rejected_order_tab&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;rejected_orders&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;big_order_tab&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;big_orders&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Cust_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;              &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Amount_tab&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;span style="color:silver;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;--- Original order data ---&lt;br /&gt;Customer #1, Company1: $5000.01&lt;br /&gt;Customer #2, Company2: $0&lt;br /&gt;Customer #3, Company3: $150.25&lt;br /&gt;Customer #4, Company4: $4000&lt;br /&gt;Customer #5, Company5: $&lt;br /&gt;--- Data with invalid orders deleted ---&lt;br /&gt;Customer #1, Company1: $5000.01&lt;br /&gt;Customer #3, Company3: $150.25&lt;br /&gt;Customer #4, Company4: $4000&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt; &lt;span style="color: green; font-style: italic;"&gt;-- Verify that the correct order details were stored&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: maroon;"&gt;cust_name&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Customer"&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: maroon;"&gt;amount&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Valid order amount"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color: maroon;"&gt;valid_orders&lt;/span&gt;&lt;span style="color: silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Customer                         Valid order amount&lt;br /&gt;-------------------------------- ------------------&lt;br /&gt;Company1                                    5000.01&lt;br /&gt;Company3                                     150.25&lt;br /&gt;Company4                                       4000&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: maroon;"&gt;cust_name&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Customer"&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: maroon;"&gt;amount&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Big order amount"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color: maroon;"&gt;big_orders&lt;/span&gt;&lt;span style="color: silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Customer                         Big order amount&lt;br /&gt;-------------------------------- ----------------&lt;br /&gt;Company1                                  5000.01&lt;br /&gt;Company4                                     4000&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: maroon;"&gt;cust_name&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Customer"&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: maroon;"&gt;amount&lt;/span&gt; &lt;span style="color: maroon;"&gt;"Rejected order amount"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color: maroon;"&gt;rejected_orders&lt;/span&gt;&lt;span style="color: silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-family: Courier New; font-size: 10pt;"&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Customer                         Rejected order amount&lt;br /&gt;-------------------------------- ---------------------&lt;br /&gt;Company2                                             0&lt;br /&gt;Company5&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-116065538949917779?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/116065538949917779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=116065538949917779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/116065538949917779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/116065538949917779'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-forall-with-non-consecutive-index.html' title='Using FORALL with Non-Consecutive Index Values'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8050946851284204318</id><published>2009-11-04T20:11:00.000+02:00</published><updated>2009-11-04T20:13:12.145+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using FORALL with Part of a Collection</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:silver;"&gt;*&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numlist&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;VARRAY&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;depts&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMLIST&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Numlist&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;5&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;10&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;30&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;50&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;55&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;57&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;60&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;70&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;75&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:black;"&gt;7&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- use only part of varray&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Depts&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8050946851284204318?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8050946851284204318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8050946851284204318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8050946851284204318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8050946851284204318'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-forall-with-part-of-collection.html' title='Using FORALL with Part of a Collection'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1996993671516622008</id><published>2009-11-04T19:44:00.001+02:00</published><updated>2009-11-04T20:00:44.762+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Issuing DELETE Statements in a Loop</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts1&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts1&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pnum&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pname&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;15&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts2&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts2&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pnum&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pname&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;15&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;numtab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts1&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;pnum&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;TYPE&lt;/span&gt; &lt;span style="color:maroon;"&gt;nametab&lt;/span&gt; &lt;span style="color:blue;"&gt;IS&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:blue;"&gt;OF&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts1&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;pname&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:blue;"&gt;BY&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pnums&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;NUMTAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;pnames&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NAMETAB&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;iterations&lt;/span&gt;  &lt;span style="color:blue;"&gt;CONSTANT&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;PLS_INTEGER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;500&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t1&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t2&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t3&lt;/span&gt;      &lt;span style="font-style: italic;color:black;" &gt;INTEGER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;iterations&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- load index-by tables&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnames&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'Part No. '&lt;/span&gt;&lt;br /&gt;                ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;j&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t1&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;dbms_utility&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;get_time&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:maroon;"&gt;iterations&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- use FOR loop&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts1&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnames&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t2&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;dbms_utility&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;get_time&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FORALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt;&lt;span style="color:maroon;"&gt;iterations&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- use FORALL statement&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;parts2&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnums&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Pnames&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;i&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;t3&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;dbms_utility&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;get_time&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Execution Time (secs)'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'---------------------'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'FOR loop: '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t2&lt;/span&gt;&lt;br /&gt;                                   &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:maroon;"&gt;t1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                                  &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'FORALL: '&lt;/span&gt;&lt;br /&gt;                      ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;t3&lt;/span&gt;&lt;br /&gt;                                   &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:maroon;"&gt;t2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                                  &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Execution Time (secs)&lt;br /&gt;---------------------&lt;br /&gt;FOR loop: .03&lt;br /&gt;FORALL: 0&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1996993671516622008?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1996993671516622008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1996993671516622008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1996993671516622008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1996993671516622008'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/issuing-delete-statements-in-loop.html' title='Issuing DELETE Statements in a Loop'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8898778002864887590</id><published>2009-11-04T19:36:00.002+02:00</published><updated>2009-11-04T19:41:31.367+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Nesting a Query to Improve Performance</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Inefficient, calls function for every row&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;item&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue;"&gt;DISTINCT&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Sqrt&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:maroon;"&gt;col_alias&lt;/span&gt;&lt;br /&gt;              &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;item&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;col_alias&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;color:green;" &gt;-- Efficient, only calls function once for each distinct value.&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;item&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Sqrt&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:maroon;"&gt;col_alias&lt;/span&gt;&lt;br /&gt;              &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue;"&gt;DISTINCT&lt;/span&gt; &lt;span style="color:maroon;"&gt;department_id&lt;/span&gt;&lt;br /&gt;                      &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;item&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;col_alias&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; font-family: arial;"&gt;&lt;U&gt;OUTPUT:-&lt;/U&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;7.07106781186547524400844362104849039285&lt;br /&gt;9.48683298050513799599668063329815560116&lt;br /&gt;8.36660026534075547978172025785187489393&lt;br /&gt;10.48808848170151546991453513679937598475&lt;br /&gt;3.16227766016837933199889354443271853372&lt;br /&gt;6.32455532033675866399778708886543706744&lt;br /&gt;5.47722557505166113456969782800802133953&lt;br /&gt;4.47213595499957939281834733746255247088&lt;br /&gt;7.74596669241483377035853079956479922167&lt;br /&gt;8.94427190999915878563669467492510494176&lt;br /&gt;10&lt;br /&gt;10&lt;br /&gt;5.47722557505166113456969782800802133953&lt;br /&gt;4.47213595499957939281834733746255247088&lt;br /&gt;8.36660026534075547978172025785187489393&lt;br /&gt;9.48683298050513799599668063329815560116&lt;br /&gt;10.48808848170151546991453513679937598475&lt;br /&gt;7.07106781186547524400844362104849039285&lt;br /&gt;6.32455532033675866399778708886543706744&lt;br /&gt;8.94427190999915878563669467492510494176&lt;br /&gt;3.16227766016837933199889354443271853372&lt;br /&gt;7.74596669241483377035853079956479922167&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8898778002864887590?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8898778002864887590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8898778002864887590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8898778002864887590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8898778002864887590'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/nesting-query-to-improve-performance.html' title='Nesting a Query to Improve Performance'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-1314428032565046445</id><published>2009-11-04T19:16:00.003+02:00</published><updated>2009-11-04T19:34:27.034+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using the DBMS_WARNING Package to Display Warnings</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="font-style: italic;color:green;" &gt;-- When warnings disabled, the following procedure compiles with no warnings&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color:blue;"&gt;REPLACE&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Unreachable_code&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;x&lt;/span&gt;  &lt;span style="color:blue;"&gt;CONSTANT&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;BOOLEAN&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;true&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;x&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'TRUE'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;ELSE&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'FALSE'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:maroon;"&gt;unreachable_code&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- enable all warning messages for this session&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;CALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;DBMS_WARNING&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;set_warning_setting_string&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'ENABLE:ALL'&lt;/span&gt; &lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:red;"&gt;'SESSION'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Check the current warning setting&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;dbms_warning&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Get_warning_setting_string&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;dual&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;-- Recompile the procedure and a warning about unreachable code displays&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;unreachable_code&lt;/span&gt; &lt;span style="color:maroon;"&gt;COMPILE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;SHOW&lt;/span&gt; &lt;span style="color:maroon;"&gt;ERRORS&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hZQrAX9ISTE/SvG5PT1cMlI/AAAAAAAADYg/PWROODoZ9Ws/s1600-h/Using+the+DBMS_WARNING+Package+to+Display+Warnings.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 365px;" src="http://1.bp.blogspot.com/_hZQrAX9ISTE/SvG5PT1cMlI/AAAAAAAADYg/PWROODoZ9Ws/s400/Using+the+DBMS_WARNING+Package+to+Display+Warnings.PNG" alt="" id="BLOGGER_PHOTO_ID_5400301100867531346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;you could have used the following &lt;span style="font-weight: bold;"&gt;ALTER PROCEDURE&lt;/span&gt; without the call to &lt;span style="font-weight: bold;"&gt;DBMS_WARNINGS.set_warning_setting_string&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ALTER PROCEDURE unreachable_code COMPILE PLSQL_WARNINGS = 'ENABLE:ALL' REUSE SETTINGS;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For more information, see &lt;span style="font-weight: bold;"&gt;ALTER PROCEDURE&lt;/span&gt; in &lt;span style="font-style: italic;"&gt;Oracle Database SQL Reference&lt;/span&gt;,&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DBMS_WARNING&lt;/span&gt; package in &lt;span style="font-style: italic;"&gt;Oracle Database PL/SQL Packages and Types Reference&lt;/span&gt;, and&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PLW- messages&lt;/span&gt; in &lt;span style="font-style: italic;"&gt;Oracle Database Error Messages.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-1314428032565046445?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/1314428032565046445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=1314428032565046445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1314428032565046445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/1314428032565046445'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-dbmswarning-package-to-display.html' title='Using the DBMS_WARNING Package to Display Warnings'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hZQrAX9ISTE/SvG5PT1cMlI/AAAAAAAADYg/PWROODoZ9Ws/s72-c/Using+the+DBMS_WARNING+Package+to+Display+Warnings.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7508719816451554428</id><published>2009-11-04T19:09:00.003+02:00</published><updated>2009-11-04T19:14:34.967+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Controlling the Display of PL/SQL Warnings</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- To focus on one aspect&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;SESSION&lt;/span&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt; &lt;span style="color:maroon;"&gt;PLSQL_WARNINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;'ENABLE:PERFORMANCE'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- Recompile with extra checking&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color:maroon;"&gt;loc_var&lt;/span&gt; &lt;span style="color:maroon;"&gt;COMPILE&lt;/span&gt; &lt;span style="color:maroon;"&gt;PLSQL_WARNINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;'ENABLE:PERFORMANCE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;REUSE&lt;/span&gt; &lt;span style="color:maroon;"&gt;SETTINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- To turn off all warnings&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;SESSION&lt;/span&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt; &lt;span style="color:maroon;"&gt;PLSQL_WARNINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;'DISABLE:ALL'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- Display 'severe' warnings, don't want 'performance' warnings, and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- want PLW-06002 warnings to produce errors that halt compilation&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;SESSION&lt;/span&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt; &lt;span style="color:maroon;"&gt;PLSQL_WARNINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;'ENABLE:SEVERE'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt; &lt;span style="color:red;"&gt;'DISABLE:PERFORMANCE'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="color:red;"&gt;'ERROR:06002'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style="font-style: italic; color: rgb(0, 153, 0);"&gt;-- For debugging during development&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;ALTER&lt;/span&gt; &lt;span style="color:blue;"&gt;SESSION&lt;/span&gt; &lt;span style="color:blue;"&gt;SET&lt;/span&gt; &lt;span style="color:maroon;"&gt;PLSQL_WARNINGS&lt;/span&gt;&lt;span style="color:silver;"&gt;=&lt;/span&gt;&lt;span style="color:red;"&gt;'ENABLE:ALL'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7508719816451554428?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7508719816451554428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7508719816451554428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7508719816451554428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7508719816451554428'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/controlling-display-of-plsql-warnings.html' title='Controlling the Display of PL/SQL Warnings'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-4517806797808397181</id><published>2009-11-04T18:58:00.004+02:00</published><updated>2009-11-04T19:03:39.580+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Using a Locator Variable to Identify the Location of an Exception</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;OR&lt;/span&gt; &lt;span style="color:blue;"&gt;REPLACE&lt;/span&gt; &lt;span style="color:blue;"&gt;PROCEDURE&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Loc_var&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;stmt_no&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;NAME&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;stmt_no&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- designates 1st SELECT statement&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;table_name&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;user_tables&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;table_name&lt;/span&gt; &lt;span style="color:blue;"&gt;LIKE&lt;/span&gt; &lt;span style="color:red;"&gt;'ABC%'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:maroon;"&gt;stmt_no&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- designates 2nd SELECT statement&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;table_name&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;user_tables&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;table_name&lt;/span&gt; &lt;span style="color:blue;"&gt;LIKE&lt;/span&gt; &lt;span style="color:red;"&gt;'XYZ%'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;no_data_found&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Table name not found in query '&lt;/span&gt;&lt;br /&gt;                       ||&lt;span style="color:maroon;"&gt;stmt_no&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;Procedure created.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;CALL&lt;/span&gt; &lt;span style="color:maroon;"&gt;loc_var&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;Table name not found in query 1&lt;br /&gt;&lt;br /&gt;Call completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-4517806797808397181?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/4517806797808397181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=4517806797808397181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4517806797808397181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/4517806797808397181'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/using-locator-variable-to-identify.html' title='Using a Locator Variable to Identify the Location of an Exception'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-999154400965485170</id><published>2009-11-04T18:50:00.001+02:00</published><updated>2009-11-04T18:53:34.473+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Retrying a Transaction After an Exception</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;res_name&lt;/span&gt;   &lt;span style="font-style: italic;color:black;" &gt;VARCHAR&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;res_answer&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;3&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:maroon;"&gt;res_name_ix&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;UNIQUE&lt;/span&gt; &lt;span style="color:blue;"&gt;INDEX&lt;/span&gt; &lt;span style="color:maroon;"&gt;res_name_ix&lt;/span&gt; &lt;span style="color:blue;"&gt;ON&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;res_name&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'SMYTHE'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color:red;"&gt;'YES'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'JONES'&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color:red;"&gt;'NO'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;20&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'SMYTHE'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;answer&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;3&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:red;"&gt;'NO'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;suffix&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FOR&lt;/span&gt; &lt;span style="color:maroon;"&gt;i&lt;/span&gt; &lt;span style="color:blue;"&gt;IN&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;..&lt;/span&gt; &lt;span style="color:black;"&gt;5&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- try 5 times&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- sub-block begins&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;SAVEPOINT&lt;/span&gt; &lt;span style="color:maroon;"&gt;start_transaction&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- mark a savepoint&lt;/span&gt;&lt;br /&gt;     &lt;span style="font-style: italic;color:green;" &gt;/* Remove rows from a table of survey results. */&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;DELETE&lt;/span&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;       &lt;span style="color:maroon;"&gt;res_answer&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:red;"&gt;'NO'&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="font-style: italic;color:green;" &gt;/* Add a survey respondent's name and answers. */&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;results&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;                 &lt;span style="color:maroon;"&gt;answer&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="font-style: italic;color:green;" &gt;-- raises DUP_VAL_ON_INDEX if two respondents have the same name&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;COMMIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;EXIT&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;dup_val_on_index&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;ROLLBACK&lt;/span&gt; &lt;span style="color:blue;"&gt;TO&lt;/span&gt; &lt;span style="color:maroon;"&gt;start_transaction&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- undo changes&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:maroon;"&gt;suffix&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;suffix&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color:silver;"&gt;+&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- try to fix problem&lt;/span&gt;&lt;br /&gt;       &lt;span style="color:blue;"&gt;NAME&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;br /&gt;               ||&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;To_char&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;suffix&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- sub-block ends&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;LOOP&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-999154400965485170?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/999154400965485170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=999154400965485170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/999154400965485170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/999154400965485170'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/retrying-transaction-after-exception.html' title='Retrying a Transaction After an Exception'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-9025506464488211730</id><published>2009-11-04T18:42:00.002+02:00</published><updated>2009-11-04T18:47:58.705+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Continuing after an Exception Is Raised</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DROP&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt; &lt;span style="color:blue;"&gt;CASCADE&lt;/span&gt; &lt;span style="color:blue;"&gt;CONSTRAINTS&lt;/span&gt; &lt;span style="color:blue;"&gt;PURGE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;AS&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;        &lt;span style="color:maroon;"&gt;commission_pct&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;301&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;2500&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;br /&gt;          &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:maroon;"&gt;commission_pct&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;301&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;302&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;&lt;br /&gt;               &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;.1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;zero_divide&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;2&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;303&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;2500&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;0&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- sub-block begins&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary&lt;/span&gt;&lt;br /&gt;            &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:maroon;"&gt;commission_pct&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:black;"&gt;301&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;zero_divide&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;2500&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- sub-block ends&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;employees_temp&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;304&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:maroon;"&gt;sal_calc&lt;/span&gt;&lt;br /&gt;               &lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;span style="color:black;"&gt;100&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;             &lt;span style="color:black;"&gt;.1&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;zero_divide&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;NULL&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-9025506464488211730?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/9025506464488211730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=9025506464488211730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/9025506464488211730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/9025506464488211730'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/continuing-after-exception-is-raised.html' title='Continuing after an Exception Is Raised'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-5953530748464549366</id><published>2009-11-04T00:07:00.003+02:00</published><updated>2009-11-04T00:16:04.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Displaying SQLCODE and SQLERRM</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;CREATE&lt;/span&gt; &lt;span style="color:blue;"&gt;TABLE&lt;/span&gt; &lt;span style="color:maroon;"&gt;errors&lt;/span&gt; &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;code&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;message&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;64&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;happened&lt;/span&gt; &lt;span style="font-style: italic;color:black;" &gt;TIMESTAMP&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;&lt;br /&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;    &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;span style="color:silver;"&gt;%&lt;/span&gt;&lt;span style="font-style: italic;color:black;" &gt;TYPE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;v_code&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;v_errm&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;VARCHAR2&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:black;"&gt;64&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color:maroon;"&gt;last_name&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt;   &lt;span style="color:blue;"&gt;NAME&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;FROM&lt;/span&gt;   &lt;span style="color:maroon;"&gt;employees&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHERE&lt;/span&gt;  &lt;span style="color:maroon;"&gt;employee_id&lt;/span&gt; &lt;span style="color:silver;"&gt;=&lt;/span&gt; &lt;span style="color:silver;"&gt;-&lt;/span&gt;&lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:blue;"&gt;OTHERS&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;v_code&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:blue;"&gt;SQLCODE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;v_errm&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Substr&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;sqlerrm&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;span style="color:black;"&gt;64&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Error code '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;v_code&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;': '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;v_errm&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- Normally we would call another procedure, declared with PRAGMA&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- AUTONOMOUS_TRANSACTION, to insert information about errors.&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;INSERT&lt;/span&gt; &lt;span style="color:blue;"&gt;INTO&lt;/span&gt; &lt;span style="color:maroon;"&gt;errors&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;VALUES&lt;/span&gt;     &lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:maroon;"&gt;v_code&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;               &lt;span style="color:maroon;"&gt;v_errm&lt;/span&gt;&lt;span style="color:silver;"&gt;,&lt;/span&gt;&lt;br /&gt;               &lt;span style="color:maroon;"&gt;systimestamp&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;Error code 100: ORA-01403: no data found&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-5953530748464549366?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/5953530748464549366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=5953530748464549366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5953530748464549366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/5953530748464549366'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/displaying-sqlcode-and-sqlerrm.html' title='Displaying SQLCODE and SQLERRM'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-7766712142771387291</id><published>2009-11-01T23:15:00.002+02:00</published><updated>2009-11-01T23:23:29.849+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>How PL/SQL Exceptions Propagate</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_hZQrAX9ISTE/Su38Kq4P_zI/AAAAAAAADT4/f-MS3PsZ-gQ/s1600-h/1.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 308px;" src="http://1.bp.blogspot.com/_hZQrAX9ISTE/Su38Kq4P_zI/AAAAAAAADT4/f-MS3PsZ-gQ/s400/1.PNG" alt="" id="BLOGGER_PHOTO_ID_5399248788526202674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_hZQrAX9ISTE/Su38KQzxCEI/AAAAAAAADTw/TlWZ4YO-M3M/s1600-h/2.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 316px;" src="http://2.bp.blogspot.com/_hZQrAX9ISTE/Su38KQzxCEI/AAAAAAAADTw/TlWZ4YO-M3M/s400/2.PNG" alt="" id="BLOGGER_PHOTO_ID_5399248781528074306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hZQrAX9ISTE/Su38KLR866I/AAAAAAAADTo/AVdLFpbCFsQ/s1600-h/3.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 330px;" src="http://4.bp.blogspot.com/_hZQrAX9ISTE/Su38KLR866I/AAAAAAAADTo/AVdLFpbCFsQ/s400/3.PNG" alt="" id="BLOGGER_PHOTO_ID_5399248780044069794" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-7766712142771387291?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/7766712142771387291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=7766712142771387291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7766712142771387291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/7766712142771387291'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/how-plsql-exceptions-propagate.html' title='How PL/SQL Exceptions Propagate'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_hZQrAX9ISTE/Su38Kq4P_zI/AAAAAAAADT4/f-MS3PsZ-gQ/s72-c/1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-259493545264647239</id><published>2009-11-01T22:51:00.001+02:00</published><updated>2009-11-01T22:54:38.627+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Reraising a PL/SQL Exception</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;salary_too_high&lt;/span&gt;  &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;current_salary&lt;/span&gt;    &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;20000&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;max_salary&lt;/span&gt;        &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:black;"&gt;10000&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;erroneous_salary&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;NUMBER&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;---------- sub-block begins&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;current_salary&lt;/span&gt; &lt;span style="color:silver;"&gt;&gt;&lt;/span&gt; &lt;span style="color:maroon;"&gt;max_salary&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;RAISE&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary_too_high&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- raise the exception&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary_too_high&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;     &lt;span style="font-style: italic;color:green;" &gt;-- first step in handling the error&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Salary '&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:maroon;"&gt;erroneous_salary&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:red;"&gt;' is out of range.'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Maximum salary is '&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:maroon;"&gt;max_salary&lt;/span&gt;&lt;br /&gt;                          ||&lt;span style="color:red;"&gt;'.'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color:blue;"&gt;RAISE&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;-- reraise the current exception&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;------------ sub-block ends&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:maroon;"&gt;salary_too_high&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="font-style: italic;color:green;" &gt;-- handle the error more thoroughly&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;erroneous_salary&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;current_salary&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;current_salary&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color:maroon;"&gt;max_salary&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:maroon;"&gt;dbms_output&lt;/span&gt;&lt;span style="color:silver;"&gt;.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Put_line&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:red;"&gt;'Revising salary from '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;erroneous_salary&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;' to '&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:maroon;"&gt;current_salary&lt;/span&gt;&lt;br /&gt;                        ||&lt;span style="color:red;"&gt;'.'&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;Salary  is out of range.&lt;br /&gt;Maximum salary is 10000.&lt;br /&gt;Revising salary from 20000 to 10000.&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-259493545264647239?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/259493545264647239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=259493545264647239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/259493545264647239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/259493545264647239'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/reraising-plsql-exception.html' title='Reraising a PL/SQL Exception'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5153312541207962254.post-8292335320004560119</id><published>2009-11-01T22:31:00.004+02:00</published><updated>2009-11-01T22:48:33.349+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL Codes'/><title type='text'>Scope of an Exception</title><content type='html'>&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;---------- sub-block begins&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;past_due&lt;/span&gt;  &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;due_date&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;DATE&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Trunc&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SYSDATE&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                        &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:maroon;"&gt;todays_date&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DATE&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Trunc&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SYSDATE&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;due_date&lt;/span&gt; &lt;span style="color:silver;"&gt;&lt;&lt;/span&gt; &lt;span style="color:maroon;"&gt;todays_date&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;   &lt;span style="color:blue;"&gt;RAISE&lt;/span&gt; &lt;span style="color:maroon;"&gt;past_due&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;------------- sub-block ends&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;WHEN&lt;/span&gt; &lt;span style="color:blue;"&gt;OTHERS&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt; &lt;span style="color:blue;"&gt;ROLLBACK&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt;  &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;&lt;u&gt;OUTPUT:-&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;---------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Because the block that declares the exception past_due has no handler for it, the exception propagates to the enclosing block. But the enclosing block cannot reference he name PAST_DUE, because the scope where it was declared no longer exists. &lt;span style="color: rgb(153, 0, 0);"&gt;Once the exception name is lost, only an OTHERS handler can catch the exception&lt;/span&gt;. If there is no handler for a user-defined exception, the calling application gets this error:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;ORA-06510: PL/SQL: unhandled user-defined exception&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre   style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); line-height: 14px; width: 100%;font-family:Andale Mono,Lucida Console,Monaco,fixed,monospace;font-size:12px;"&gt;&lt;code&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:10pt;"  &gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;DECLARE&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;---------- sub-block begins&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;past_due&lt;/span&gt;  &lt;span style="color:blue;"&gt;EXCEPTION&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;due_date&lt;/span&gt;     &lt;span style="font-style: italic;color:black;" &gt;DATE&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Trunc&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SYSDATE&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;                         &lt;span style="color:silver;"&gt;-&lt;/span&gt; &lt;span style="color:black;"&gt;1&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:maroon;"&gt;todays_date&lt;/span&gt;  &lt;span style="font-style: italic;color:black;" &gt;DATE&lt;/span&gt; &lt;span style="color:silver;"&gt;:=&lt;/span&gt; &lt;span style="color: rgb(255, 0, 128); font-weight: bold;"&gt;Trunc&lt;/span&gt;&lt;span style="color:maroon;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;SYSDATE&lt;/span&gt;&lt;span style="color:maroon;"&gt;)&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;IF&lt;/span&gt; &lt;span style="color:maroon;"&gt;due_date&lt;/span&gt; &lt;span style="color:silver;"&gt;&lt;&lt;/span&gt; &lt;span style="color:maroon;"&gt;todays_date&lt;/span&gt; &lt;span style="color:blue;"&gt;THEN&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:blue;"&gt;RAISE&lt;/span&gt; &lt;span style="color:maroon;"&gt;past_due&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style="color:blue;"&gt;END&lt;/span&gt; &lt;span style="color:blue;"&gt;IF&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt; &lt;span style="font-style: italic;color:green;" &gt;------------- sub-block ends&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;--EXCEPTION&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;--WHEN OTHERS THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;color:green;" &gt;--ROLLBACK;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:blue;"&gt;END&lt;/span&gt;&lt;span style="color:silver;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:silver;"&gt;/&lt;/span&gt; &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;BEGIN&lt;br /&gt;*&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-06510: PL/SQL: unhandled user-defined exception&lt;br /&gt;ORA-06512: at line 8&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5153312541207962254-8292335320004560119?l=hany4u.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hany4u.blogspot.com/feeds/8292335320004560119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5153312541207962254&amp;postID=8292335320004560119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8292335320004560119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5153312541207962254/posts/default/8292335320004560119'/><link rel='alternate' type='text/html' href='http://hany4u.blogspot.com/2009/11/scope-of-exception.html' title='Scope of an Exception'/><author><name>Hany Boshre</name><uri>https://profiles.google.com/109077308860514403486</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-Vua5O6CTAS4/AAAAAAAAAAI/AAAAAAAAFVM/MANjeA3lbPY/s512-c/photo.j
