<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antferr &#187; Oracle</title>
	<atom:link href="http://www.antferr.com/category/oracle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antferr.com</link>
	<description>Information and communication technology me.think.toString(&#34;blog&#34;);</description>
	<lastBuildDate>Wed, 28 Jul 2010 13:02:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Restart Oracle Sequence from Stored Procedure</title>
		<link>http://www.antferr.com/oracle/restart-oracle-sequence-from-stored-procedure/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=restart-oracle-sequence-from-stored-procedure</link>
		<comments>http://www.antferr.com/oracle/restart-oracle-sequence-from-stored-procedure/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 12:30:29 +0000</pubDate>
		<dc:creator>antferr</dc:creator>
				<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>

		<guid isPermaLink="false">http://www.antferr.com/?p=445</guid>
		<description><![CDATA[Può capitare di dover azzerare una sequence in maniera dinamica direttamente da una stored procedure. Vi propongo una delle possibili soluzioni premettendo ai puristi di Oracle che esistono sicuramente soluzioni migliori. ?Mostra codice PLSQL1 2 3 4 5 6 7 8 -- Quando decidiamo di restartare la sequence SELECT 0 - MY_SEQ.NEXTVAL INTO nCURR FROM]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.antferr.com%2Foracle%2Frestart-oracle-sequence-from-stored-procedure%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.antferr.com%2Foracle%2Frestart-oracle-sequence-from-stored-procedure%2F&amp;source=antferr&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Può capitare di dover azzerare una sequence in maniera dinamica direttamente da una stored procedure.<br />
Vi propongo una delle possibili soluzioni premettendo ai puristi di Oracle che esistono sicuramente soluzioni migliori.</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p445code2'); return false;">Mostra codice</a> PLSQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4452"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p445code2"><pre class="plsql" style="font-family:monospace;">        <span style="color: #080; font-style: italic;">-- Quando decidiamo di restartare la sequence</span>
        <span style="color: #00F;">SELECT</span> <span style="color: #800;">0</span> <span style="color: #00F;">-</span> MY_SEQ<span style="color: #00F;">.</span><span style="color: #00F;">NEXTVAL</span>
        <span style="color: #00F;">INTO</span> nCURR
        <span style="color: #00F;">FROM</span> dual<span style="color: #00F;">;</span>
&nbsp;
        <span style="color: #00F;">EXECUTE</span> <span style="color: #00F;">IMMEDIATE</span> <span style="color: #00F;">&#40;</span><span style="color: #F00;">'alter sequence MY_SEQ increment by '</span> <span style="color: #00F;">||</span> nCURR<span style="color: #00F;">&#41;</span><span style="color: #00F;">;</span>
        <span style="color: #00F;">SELECT</span> MY_SEQ<span style="color: #00F;">.</span><span style="color: #00F;">NEXTVAL</span> <span style="color: #00F;">INTO</span> nCURR <span style="color: #00F;">FROM</span> dual<span style="color: #00F;">;</span>
        <span style="color: #00F;">EXECUTE</span> <span style="color: #00F;">immediate</span> <span style="color: #00F;">&#40;</span><span style="color: #F00;">'alter sequence MY_SEQ increment by 1'</span><span style="color: #00F;">&#41;</span><span style="color: #00F;">;</span></pre></td></tr></table></div>

<p>
<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
In una variabile di tipo NUMBER, precedentemente dichiarata, salviamo il NEXTVAL della sequence in valore negativo. Modifichiamo ora la sequence con un increment by del valore appena salvato. Ora richiamando per la prima volta la sequence, essa stessa partirà da zero, perchè il suo nextval sara uguale a n &#8211; n.<br />
Non resta che modificarla nuovamente reimpostando un increment by 1.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="antferr@gmail.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Restart Oracle Sequence from Stored Procedure" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.antferr.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Mi offri un caffè?" title="Mi offri un caffè?" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=antferr@gmail.com&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Restart+Oracle+Sequence+from+Stored+Procedure" target="paypal">Se i miei post ti sono stati di aiuto o ti sono sembrati intressanti puoi offrirmi un caffè :)</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.antferr.com/oracle/restart-oracle-sequence-from-stored-procedure/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
