Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Comprendre les arguments en PL/SQL
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Bases de donnéesDéveloppement

Comprendre les arguments en PL/SQL

L'Équipe Alphorm Par L'Équipe Alphorm 21 novembre 2024
Partager
Partager

La manipulation incorrecte des arguments en PL/SQL peut entraîner des erreurs de données.

Une mauvaise compréhension des types d’arguments peut provoquer des dysfonctionnements dans vos procédures.

Cet article clarifie l’utilisation des arguments en PL/SQL via des exemples concrets pour renforcer votre maîtrise du sujet.

Table de matière
Arguments IN en PL/SQL : Exemple pratiqueArguments OUT en PL/SQL : Exemple illustréFAQConclusion

Formation Le langage PL/SQL : Le Guide Complet

Maîtriser le langage SQL en environnement SGBDR. SQL n'aura plus de secrets pour vous !

Découvrir cette formation

Les arguments sont des valeurs que vous passez aux fonctions ou procédures, leur permettant de travailler avec des données externes. Voici les différents types d’arguments et leur syntaxe :

				
					
 <nom_argument> [ { IN | OUT | IN OUT } ] [ NOCOPY ]
TYPE [ , . . . ]

				
			
  • IN :Indique que le paramètre transmis par le programme appelant n’est pas modifiable par la fonction.
  • OUT :Indique que le paramètre est modifiable par la procédure.
  • IN OUT :Indique que le paramètre est transmis par le programme appelant et renseigné par la fonction.
  • NOCOPY :Indique que le paramètre est transmis par référence (pointeur) et non par copie de la valeur.
  • TYPE :Représente le type SQL ou PL/SQL du paramètre.
  • :=: Représente le symbole d’assignation d’une valeur par défaut.
  • DEFAULT :Identique à :=.

Pour illustrer le concept des arguments dans PL/SQL, voici un schéma explicatif simple présentant les principaux types de paramètres (IN, OUT, IN OUT) et leur utilisation dans des procédures.

Diagramme des arguments PL/SQL: IN, OUT, IN OUT.

Arguments IN en PL/SQL : Exemple pratique

Voici un exemple d’une procédure utilisant un paramètre IN :

				
					
 CREATE OR REPLACE PROCEDURE augmentationSalaireIN(numsal IN NUMBER, taux IN NUMBER)
IS
nouveausal salaries.salaire%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('Valeur de numsal avant : ' || numsal);
DBMS_OUTPUT.PUT_LINE('Valeur de taux avant : ' || taux);
-- Tentative de modification du paramètre IN (ceci provoquera une erreur)
numsal := 4; -- Erreur : vous ne pouvez pas modifier un paramètre IN
taux := 50; -- Erreur : vous ne pouvez pas modifier un paramètre IN
DBMS_OUTPUT.PUT_LINE('Valeur de numsal après : ' || numsal);
DBMS_OUTPUT.PUT_LINE('Valeur de taux après : ' || taux);
UPDATE salaries SET salaire = salaire * (1 + taux / 100)
WHERE numero_sal = numsal;
SELECT salaire INTO nouveausal FROM salaries WHERE numero_sal = numsal;
DBMS_OUTPUT.PUT_LINE('Le salarié ' || numsal || ' a été augmenté, nouveau salaire : ' || nouveausal);
END augmentationSalaireIN;
/

				
			
Infos : Dans cet exemple, les valeurs de numsal et taux ne peuvent pas être modifiées à l’intérieur de la procédure, car elles sont définies comme IN.

Voila le résultat entendu lors de l’exécution :

Erreur PLS-00363 PL/SQL sur NUMSAL et TAUX

Arguments OUT en PL/SQL : Exemple illustré

Voici un exemple d’une procédure utilisant un paramètre OUT :

				
					
 CREATE OR REPLACE PROCEDURE augmentationSalaireOUT(numsal OUT NUMBER, taux OUT NUMBER)
IS
nouveausal salaries.salaire%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('Valeur de numsal avant : ' || numsal);
DBMS_OUTPUT.PUT_LINE('Valeur de taux avant : ' || taux);
-- Assignation de valeurs aux paramètres OUT
numsal := 4;
taux := 50;
DBMS_OUTPUT.PUT_LINE('Valeur de numsal après : ' || numsal);
DBMS_OUTPUT.PUT_LINE('Valeur de taux après : ' || taux);
UPDATE salaries SET salaire = salaire * (1 + taux / 100)
WHERE numero_sal = numsal;
SELECT salaire INTO nouveausal FROM salaries WHERE numero_sal = numsal;
DBMS_OUTPUT.PUT_LINE('Le salarié ' || numsal || ' a été augmenté, nouveau salaire : ' || nouveausal);
END augmentationSalaireOUT;
/

				
			
Infos : Dans cet exemple, les valeurs des paramètres numsal et taux peuvent être modifiées à l’intérieur de la procédure, car ils sont définis comme OUT.

Voila le résultat affiché lors de faire l’appel à cette procédure :

Exemple de sortie PL/SQL montrant des augmentations de salaire

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Quels sont les types d'arguments en PL/SQL?
Les types d’arguments en PL/SQL incluent IN, OUT, IN OUT et NOCOPY. IN permet de transmettre des données non modifiables, OUT pour des données modifiables par la procédure, IN OUT pour des données modifiables et retransmises, et NOCOPY pour une transmission par référence. Chacun de ces types a une syntaxe et une utilisation spécifiques dans les procédures PL/SQL.
Comment fonctionne un paramètre IN en PL/SQL?
Un paramètre IN en PL/SQL est utilisé pour transmettre des données à une procédure. Ce type de paramètre ne peut être modifié à l’intérieur de la procédure. Par exemple, lors de l’utilisation de numsal et taux comme paramètres IN, toute tentative de modification de ces valeurs dans la procédure provoquera une erreur, garantissant ainsi l’intégrité des données d’entrée.
Quel est le rôle d'un paramètre OUT en PL/SQL?
Le paramètre OUT en PL/SQL permet à la procédure de modifier et de renvoyer des valeurs au programme appelant. Il est principalement utilisé lorsque le résultat du traitement de la procédure doit être communiqué à l’extérieur. Dans l’exemple fourni, numsal et taux sont modifiés à l’intérieur de la procédure grâce à leur définition en tant que paramètres OUT.
Comment utiliser les arguments IN OUT en PL/SQL?
Les arguments IN OUT en PL/SQL permettent à la fois de recevoir des valeurs d’entrée et de retourner des valeurs modifiées à l’appelant. Ce type d’argument est utile lorsque l’entrée doit être transformée au sein de la procédure. Par exemple, une valeur transmise peut être augmentée ou modifiée dans la procédure et la valeur résultante est retransmise au programme appelant.
Qu'est-ce que l'argument NOCOPY en PL/SQL?
L’argument NOCOPY en PL/SQL indique que le paramètre est transmis par référence plutôt que par copie. Cela peut améliorer les performances en évitant la duplication de données volumineuses. NOCOPY est particulièrement utile pour les procédures manipulant de grandes structures de données, car il permet de passer les paramètres plus efficacement en utilisant des pointeurs.

Conclusion

En explorant les différents types d’arguments en PL/SQL, vous pouvez optimiser vos procédures pour mieux gérer les données. Quel type d’argument pensez-vous utiliser le plus dans vos prochains projets PL/SQL?

ÉTIQUETÉ : PL/SQL
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Comprendre les arguments en PL/SQL

© Alphorm - Tous droits réservés