Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Ce blog est dédié a toutes les personnes intéressées de près ou de loin à aux bases de donneés et plus particulièrement à ORACLE.

Publicité

ORACLE 11 - PL-SQL

Bonjour,


On continue un peu avec les "petites nouveautés" d'ORACLE 11.

Avant ORACLE 11, lorsque vous vouliez récupérer la dernière valeur d'une séquence il fallait passer par la table "DUAL" avec quelque chose comme ca



SELECT my_seq.NEXTVAL INTO my_var FROM DUAL;

Et bien avec ORACLE 11, on peut simplifier notre code de la façon suivante:


my_var :=my_seq.NEXTVAL;



Bien evidemment, je vous conseille de n'utiliser cette syntaxe qu'uniquement si votre environnement est totalement ORACLE 11. Car si vous vouliez portez votre code sur une version antérieure, cela ne fonctionnerait pas.

Il ne semble pas y avoir de différence de performance entre les deux possibilités.


LAO.


Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
T
Pour l'exemple du post:<br /> <br /> $IF DBMS_DB_VERSION.VER_LE_11<br /> $THEN<br /> my_var := my_seq.NEXTVAL;<br /> $ELSE<br /> SELECT my_seq.NEXTVAL<br /> INTO my_var<br /> FROM dual;<br /> $END<br /> <br /> Cela compilera aussi bien dans une version 10 que 11.<br /> Au passage: très intéressants les articles !<br /> Bonne continuation !
Répondre
T
Il y a moyen de développer un code avec cette syntaxe et qui serait valable pour, par exemple, une 10g, en utilisant les directives de compilation et le package dbms_db_version. Un exemple sur http//http://www.oracle.com/technology/oramag/oracle/06-jul/o46plsql.html par l'excellent Steven Feuerstein.
Répondre
L
<br /> Merci pour le lien.<br /> <br /> Mais comment tu utiliserais cela dans le cas précis du post ?<br /> LAO.<br /> <br /> <br />