Ici, nous allons discuter de la structure et des types de blocs Oracle PLSQL
Qu'est-ce que PL/SQL
PL/SQL est l'extension propriétaire d'Oracle pour SQL qui permet des capacités de langage procédural. Il offre toutes les fonctionnalités de l'ingénierie logicielle moderne telles que l'encapsulation des données, la gestion des exceptions, le masquage des informations et l'orientation des objets
Pourquoi utiliser PLSQL
1) Intégration avec des outils de développement tels que les formulaires Oracle, les rapports
2) Plusieurs déclarations peuvent être regroupées en un seul bloc plsql et envoyées au serveur oracle, ce qui réduit le trafic réseau
3) Développement de programmes modulaires :décomposer la logique/le problème complexe en un ensemble de modules logiques gérables et bien définis et les implémenter à l'aide de blocs
4) Portabilité :comme il est natif du serveur Oracle, il peut être déplacé facilement
5) Il fournit des structures de contrôle de langage procédural telles que if condition, looping
6) Il a la capacité de gérer les erreurs et de lever des exceptions en fonction de celles-ci
Structure de bloc PLSQL
Un bloc plsql est composé de trois sections Declare, executable et exception.
DÉCLARER (Facultatif) – cette section contient des variables, des constantes, des curseurs et des exceptions définies par l'utilisateur. BEGIN(Obligatoire) EXÉCUTABLE – cette section contient toutes les instructions SQL. EXCEPTION (optionnel)- cette section contient les gestionnaires d'erreurs.FIN(obligatoire); |
Donc, déclarer et la section d'exception sont facultatifs.
Exemple de structure de bloc
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Points importants à noter
1) Toutes les variables et constantes sont définies dans la section declare
2) Placez un point-virgule; à la fin de l'instruction sql ou de l'instruction de contrôle plsql
3) En PL/SQL, toutes les erreurs sont gérées dans le bloc Exception.
4) Begin et End sont des instructions obligatoires indiquant le début et la fin du bloc PL/SQL.
5) Les variables et les constantes doivent d'abord être déclarées avant de pouvoir être utilisées.
6) Les valeurs peuvent être affectées aux variables directement à l'aide de l'opérateur d'affectation ":=", au moyen d'une instruction SELECT … INTO ou Lorsqu'il est utilisé comme paramètre OUT ou IN OUT d'une procédure.
7) Les mots-clés de section Declare, Begin , exception ne sont pas suivis d'un point-virgule
8) End et toutes les autres instructions plsql nécessitent un point-virgule pour terminer l'instruction
Types de blocs PLSQL
Anonyme :Les blocs anonymes sont des blocs sans nom. Ils sont déclarés au point de l'application où ils doivent être exécutés
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Fonction :Ce sont des noms de blocs PLSQL qui peuvent accepter des paramètres et calculer une fonction et la renvoyer. Il peut être stocké dans le serveur ou l'application Oracle
Syntax FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace function FUNC return number As l_number NUMBER; BEGIN Select count(*) into l_number from emp; return(l_number) END; /
Procédure :Ce sont des noms de bloc PLSQL qui peuvent accepter des paramètres et traiter certaines informations et peuvent ou peuvent retourner des valeurs. Il peut être stocké dans le serveur ou l'application Oracle
Syntax PROCEDURE name [(parameter[, parameter, …])] IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace procedure remove_emp (emp_id number) As BEGIN Delete from emp where employee_id=emp_id; END; /
Différence entre fonction et procédure
Fonction | Procédure |
La fonction doit renvoyer une valeur | La procédure n'est pas nécessaire |
Syntaxe | Syntaxe |
NOM DE LA FONCTION (liste d'arguments …..) Le type de données de retour est | Nom de la PROCEDURE (liste des paramètres…..) |
déclarations de variables locales | est |
Commencer | déclarations de variables locales |
instructions exécutables | COMMENCER |
Exception | Instructions exécutables. |
gestionnaires d'exécution | Exception. |
Fin ; | gestionnaires d'exceptions |
fin ; | |
La fonction peut être utilisée en SQL avec certaines restrictions | La procédure ne peut pas être appelée directement depuis SQL. |
Syntaxe et directives des blocs Oracle PLSQL
1) Les littéraux de caractère et de date doivent être placés entre guillemets simples
2) Placez des commentaires sur plusieurs lignes entre /* et */
3) La plupart des fonctions sql peuvent être utilisées dans PLSQL. Nous avons la fonction char, date, number disponible dans PLSQL, tout comme SQL
4) les groupes par fonction ne sont pas disponibles dans PLSQL. Il ne peut être utilisé que dans l'instruction sql du PLSQL
5) Nous devons utiliser une indentation appropriée pour rendre le code lisible
6) Il est recommandé d'écrire l'instruction DML en majuscules, les mots-clés PLSQL, les types de données en majuscules et de mettre les identifiants et les paramètres en minuscules pour une meilleure lisibilité et maintenance
Liens connexes
Documentation Oracle PLSQL
Question d'entretien Oracle PlSQL la plus fréquemment posée
Oracle sql et plsql
comment écrire des requêtes sql