<?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>Everything is wrong &#187; PL/SQL</title>
	<atom:link href="http://everythingiswrong.free.fr/index.php/tag/plsql/feed/" rel="self" type="application/rss+xml" />
	<link>http://everythingiswrong.free.fr</link>
	<description>Un blog dédié à l&#039;informatique en général</description>
	<lastBuildDate>Wed, 06 Oct 2021 21:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Oracle : Supprimer toutes les tables d&#8217;un schéma</title>
		<link>http://everythingiswrong.free.fr/index.php/2012/12/14/oracle-supprimer-toutes-les-tables-dun-schema/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2012/12/14/oracle-supprimer-toutes-les-tables-dun-schema/#comments</comments>
		<pubDate>Fri, 14 Dec 2012 20:32:09 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://everythingiswrong.free.fr/?p=1991</guid>
		<description><![CDATA[Un petit script PLSQL pour supprimer toutes les tables d'un schéma oracle.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Voici un petit script PLSQL pour supprimer toutes les tables d&#8217;un schéma d&#8217;une base de données Oracle. Il s&#8217;agit de créer un curseur implicite sur la liste des tables de l&#8217;utilisateur sans prendre en compte les tables de la corbeille. Puis de boucler sur cette liste afin d&#8217;exécuter la commande de suppression de chaque table sans oublier toutes ses contraintes :</p>
<pre class="brush: sql; gutter: true; first-line: 1">BEGIN
    FOR c IN (SELECT object_name,
                     object_type
              FROM user_objects
              WHERE object_type IN ('TABLE') AND object_name NOT LIKE '%$%') LOOP
        EXECUTE IMMEDIATE 'DROP '
                             || c.object_type || ' "'
                             || c.object_name || '" CASCADE CONSTRAINTS';
    END LOOP;
END;</pre>
<p style="text-align: justify;">Ce script peut être adapté pour supprimer d&#8217;autres types d&#8217;objet comme des vues. Pour cela, modifier <em>TABLE</em> en <em>VIEW</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2012/12/14/oracle-supprimer-toutes-les-tables-dun-schema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle : Générer une série de date</title>
		<link>http://everythingiswrong.free.fr/index.php/2011/02/15/oracle-generer-une-serie-de-date/</link>
		<comments>http://everythingiswrong.free.fr/index.php/2011/02/15/oracle-generer-une-serie-de-date/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 20:46:00 +0000</pubDate>
		<dc:creator>Yan</dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://yan.langlois.free.fr/wordpress/?p=924</guid>
		<description><![CDATA[Génération d'une séquence de date successives avec une base de données Oracle. Cela peu être utile pour générer des données de tests.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Comment est-il possible de générer une séquence de date à partir d&#8217;une simple requête SQL sur un base de données Oracle ?</p>
<p style="text-align: justify;">Pour comprendre le principe, il faut savoir que ce type de résultat est obtenu en deux étapes. La première est la génération d&#8217;un nombre défini de données à partir d&#8217;une requête SQL. La seconde est la transformation des données générées pour obtenir des dates.</p>
<h1 style="text-align: justify;">Génération d&#8217;une série de données</h1>
<p style="text-align: justify;">Il existe plusieurs façons de générer un nombre défini de données qui peuvent être exploitées par la suite. Voici un exemple simple :</p>
<pre class="brush: sql; toolbar: true;">SELECT 1
FROM DUAL
CONNECT BY LEVEL &lt;= &lt; n &gt;</pre>
<p style="text-align: justify;">Avec <em>n </em>le nombre de données que vous souhaitez obtenir. Voici le résultat pour n = 3 :</p>
<p class="wp-caption" style="text-align: left;">1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
1<br />
1<br />
1</p>
<h1 style="text-align: left;">Transformation de la série en séquence de dates</h1>
<p style="text-align: justify;">A partir des données générées précédemment, il est possible de créer une séquence de date avec ce type de requête SQL :</p>
<pre class="brush: sql; toolbar: true;">SELECT TRUNC(TO_DATE('20080415','yyyymmdd'),'MM')+ROWNUM -1 DATES FROM (
   SELECT 1
   FROM DUAL
   CONNECT BY LEVEL &lt;= &lt;n&gt;
)</pre>
<p style="text-align: justify;">Voici le résultat pour n = 3 :</p>
<p class="wp-caption" style="text-align: justify;">DATES<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
01/04/08<br />
02/04/08<br />
03/04/08</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Sources</span> : Pour plus d&#8217;explications, vous pouvez vous référer au site internet qui m&#8217;a servi de référence : <a href="http://www.dba-oracle.com/t_test_data_date_generation_sql.htm" target="_blank">http://www.dba-oracle.com/t_test_data_date_generation_sql.htm</a>. Vous y retrouverez entre autre deux façons différentes de générer une série de données.</p>
]]></content:encoded>
			<wfw:commentRss>http://everythingiswrong.free.fr/index.php/2011/02/15/oracle-generer-une-serie-de-date/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
