
<?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>Waanser &#187; package;</title>
	<atom:link href="http://www.waanser.com/tag/package/feed" rel="self" type="application/rss+xml" />
	<link>http://www.waanser.com</link>
	<description>Un blog utilisant WordPress</description>
	<lastBuildDate>Wed, 07 Jul 2010 21:54:44 +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>Les packages PL/SQL</title>
		<link>http://www.waanser.com/pl-sql/606-les-packages-plsql.html</link>
		<comments>http://www.waanser.com/pl-sql/606-les-packages-plsql.html#comments</comments>
		<pubDate>Fri, 23 Jan 2009 14:56:59 +0000</pubDate>
		<dc:creator>roul</dc:creator>
				<category><![CDATA[PL/SQL]]></category>
		<category><![CDATA[package;]]></category>

		<guid isPermaLink="false">http://www.waanser.com/?p=606</guid>
		<description><![CDATA[Les packages PL/SQL apportent pas mal d&#8217;avantages par rapport aux procédures et fonctions stockées. Nous allons voir dans ce tutoriel comment exploité au mieux ces packages. Les avantages des packages PL/SQL Les avantages des packages PL/SQL sont : Gain de performance : Le moteur PL/SQL charge le package entier en mémoire dès que l&#8217;on fait [...]]]></description>
			<content:encoded><![CDATA[<p>Les packages PL/SQL apportent pas mal d&#8217;avantages par rapport aux procédures et fonctions stockées. Nous allons voir dans ce tutoriel comment exploité au mieux ces packages.<br />
<span id="more-606"></span></p>
<h2>Les avantages des packages PL/SQL</h2>
<p>Les avantages des packages PL/SQL sont :</p>
<p><strong>Gain de performance :</strong></p>
<ol>
Le moteur PL/SQL charge  le package entier en mémoire  dès que l&#8217;on fait appel à une de ses procédures. L&#8217;exécution des autres procédures se fera directement, sans lecture préalable du moteur PL/SQL.</ol>
<p><strong>Gestion de sécurité :</strong></p>
<ol>
 En effet en enregistrant les procédures à travers un package, on peut définir des droits d&#8217;accès publique ou privée.</ol>
<p><strong>Un structuration plus cohérente :</strong></p>
<ol>
 Les objets peuvent être reliés entre eux par le biais d&#8217;utilisation de variable Globale. Le relecture et la compréhension des fonctionnalités des procédures du package se fait plus facilement.
</ol>
<h2>Composition des packages PL/SQL</h2>
<p>Les packages PL/SQL se divisent en 2 parties :</p>
<p><strong>la spécification </strong>: Partie déclarative du package qui liste les entêtes de procédures et fonctions (contenues dans le package PL/SQL).</p>
<p><strong>le corps du package</strong> : possède le code PL/SQL des procédures et fonctions définies dans la spécification.</p>
<h2>Syntaxe</h2>
<p><strong>CREATE </strong><em>[OR REPLACE]</em> <strong>PACKAGE BODY</strong> <em>nompackage</em><br />
{ IS | AS }<br />
Déclarations de variables locales<br />
Corps des sous-programmes publics et privés<br />
<strong>BEGIN</strong><br />
&#8230;<br />
<strong>END</strong> <em>[nompackage]</em> ;</p>
<h2>Exemple en code</h2>
<pre class="brush: sql">
-- 1) Installation d&#039;un package
CREATE or replace PACKAGE pacRH
AS
-- =====================
/*
 Fonction de conversion en FF (arrondir aux centimes) d&#039;un montant transmis en EURO.
*/
 FUNCTION ConvFF (pMontant NUMBER) RETURN NUMBER ;

END pacRH ;

-- 2) Implémentation du corps de package
CREATE or replace PACKAGE BODY pacRH
AS

-- =====================
FUNCTION ConvFF (pMontant NUMBER)
RETURN NUMBER
IS
 vTaux  CONSTANT NUMBER := 6.55957 ;
BEGIN
 RETURN ( ROUND( pMontant * vTaux, 2) ) ;
EXCEPTION
 WHEN others THEN RETURN (null) ;
END ConvFF ;

END pacRH ;

-- =======================================
-- Test
select * from salarie
where pacRH.ConvFF(sal) &gt; 12000 ;

-- =======================================
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.waanser.com/pl-sql/606-les-packages-plsql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
