Maison base de données Oracle Introduction détaillée à la syntaxe des procédures stockées Oracle

Introduction détaillée à la syntaxe des procédures stockées Oracle

Apr 18, 2023 pm 03:23 PM

La procédure stockée Oracle est un morceau de code PL/SQL précompilé qui peut être appelé et exécuté en cas de besoin. Les procédures stockées peuvent encapsuler une certaine logique métier, améliorer l'efficacité de l'exécution SQL et encapsuler des opérations complexes dans une opération simple en appelant l'interface, améliorant ainsi la maintenabilité et la fiabilité des applications de base de données. Cet article présentera en détail la syntaxe des procédures stockées Oracle.

Créer des procédures stockées Oracle

Dans Oracle, il existe deux manières principales de créer des procédures stockées. L'une consiste à utiliser l'instruction CREATE PROCEDURE pour créer une procédure stockée et l'autre consiste à utiliser les outils PL/SQL pour créer une procédure stockée. .

La syntaxe d'utilisation de l'instruction CREATE PROCEDURE pour créer une procédure stockée est la suivante :

CREATE [OR REPLACE] PROCEDURE nom_procédure
(nom_paramètre [IN | OUT | IN OUT] type_données, ...)
IS
[DÉCLARATIONS ]
BEGIN
Déclarations
[EXCEPTION]
Déclarations de gestion des exceptions
END [procedure_name];

Parmi elles, CREATE PROCEDURE est l'instruction permettant de créer une procédure stockée, OR REPLACE est un mot-clé facultatif, indiquant que si la procédure stockée est déjà existe, remplacez-le ; nom_procédure est la procédure stockée ; nom_paramètre est le nom du paramètre d'entrée et de sortie de la procédure stockée ; IS est le symbole de fin de l'en-tête de la procédure stockée ; est la section facultative de déclaration de variable ou de constante ; entre BEGIN et END est la procédure stockée. Le corps principal, qui contient les instructions SQL et le code PL/SQL.

Le processus de création d'une procédure stockée à l'aide des outils PL/SQL est le suivant :

  1. Ouvrez un outil PL/SQL tel que PL/SQL Developer ou SQL Developer ;
  2. Sélectionnez "Nouveau" dans le menu "Fichier", puis sélectionnez « Procédure stockée » ;
  3. Entrez le code de la procédure stockée dans la fenêtre
  4. Cliquez sur le bouton « Enregistrer » pour l'enregistrer en tant que fichier de procédure stockée.

Passage de paramètres

Les procédures stockées Oracle peuvent recevoir et renvoyer des paramètres, qui peuvent être des paramètres d'entrée, des paramètres de sortie ou des paramètres d'entrée et de sortie. Les paramètres d'entrée sont les valeurs des paramètres transmises dans la procédure stockée, les paramètres de sortie sont les valeurs de résultat calculées dans la procédure stockée, et les paramètres d'entrée et de sortie jouent en même temps les rôles de paramètres d'entrée et de sortie.

Lors de la définition des paramètres d'une procédure stockée, vous devez spécifier le nom du paramètre, le type de données et la direction du paramètre (IN, OUT ou IN OUT). Par exemple :

CREATE OR REPLACE PROCEDURE emp_salary_increase
(emp_id IN NUMBER, raise_percent IN NUMBER, new_salary OUT NUMBER)
IS
BEGIN
SELECT salaire + (salary * (increase_percent/100)) INTO new_salary FROM employes WHERE employe_id = emp_id;
FIN;

Dans cet exemple, la procédure stockée emp_salary_increase reçoit 3 paramètres, emp_id et Increase_percent sont des paramètres d'entrée, et new_salary est le paramètre de sortie.

Lors du référencement des paramètres de procédure stockée, l'abréviation du nom de la procédure stockée doit être ajoutée avant le nom du paramètre. Par exemple :

emp_salary_increase(100, 10, :new_salary);

Dans le code ci-dessus, 100 et 10 sont les valeurs des paramètres de emp_id et Increase_percent, et :new_salary est la valeur du paramètre de sortie new_salary calculée par le procédure stockée.

Branches conditionnelles et structures de boucles

Comme d'autres langages de programmation, les procédures stockées Oracle prennent également en charge les branches conditionnelles et les structures de boucles. Les instructions de branchement courantes incluent les instructions IF-THEN, IF-THEN-ELSE et CASE, et les instructions de boucle incluent les instructions WHILE et FOR. La syntaxe de l'instruction

IF-THEN est la suivante :

IF condition THEN
-- exécuter le bloc d'instructions
END IF;

Dans cet exemple, si la valeur de la condition est VRAIE, le bloc d'instructions est exécuté. La syntaxe de l'instruction

IF-THEN-ELSE est la suivante :

IF condition THEN
-- exécuter le bloc d'instructions
ELSE
-- exécuter un autre bloc d'instructions
END IF;

Dans cet exemple, si la valeur de La condition est TRUE, Ensuite, exécutez le premier bloc d'instructions, sinon exécutez le deuxième bloc d'instructions.

La syntaxe de l'instruction CASE est la suivante :

CASE case_expression
WHEN when_expression THEN

-- execute statement block
Copier après la connexion

WHEN when_expression THEN

-- execute another statement block
Copier après la connexion

ELSE

-- default block
Copier après la connexion

END CASE ;

Dans cet exemple, case_expression est l'expression de comparaison dans CASE instruction, when_expression Il s'agit de l'expression conditionnelle de l'instruction CASE, qui peut avoir plusieurs branches WHEN. La syntaxe de la boucle

WHILE est la suivante :

WHILE condition LOOP
-- exécuter le bloc d'instructions
END LOOP;

Dans cet exemple, la boucle while exécute le bloc d'instructions de manière cyclique en fonction du résultat de l'expression de la condition.

La syntaxe de la boucle FOR est la suivante :

FOR index IN [REVERSE] lower_bound..upper_bound LOOP
-- exécuter le bloc d'instructions
END LOOP ;

Dans cet exemple, index est une variable entière, lower_bound et upper_bound sont respectivement des boucles valeurs de début et de fin. Si vous utilisez le mot-clé REVERSE, la boucle itère de haut en bas.

Gestion des exceptions

Dans les procédures stockées Oracle, si une exception se produit, elle doit être traitée aussi élégamment que possible. Si la gestion des exceptions n'est pas prise en compte, la procédure stockée risque de ne pas pouvoir terminer son exécution ou divers problèmes peuvent survenir.

La gestion des exceptions peut être effectuée à l'aide du bloc d'instruction EXCEPTION, qui contient un ou plusieurs blocs WHEN-THEN pour effectuer différentes opérations de traitement dans différentes situations d'exception. Chaque bloc WHEN-THEN doit spécifier le nom de l'exception et l'opération de gestion des exceptions correspondante. Par exemple :

DECLARE
 emp_id NUMBER(10);
 emp_salary NUMBER(10, 2);
BEGIN
 SELECT salary INTO emp_salary FROM employees WHERE employee_id = emp_id;
EXCEPTION
 WHEN no_data_found THEN

emp_id := NULL;
Copier après la connexion

WHEN others THEN

RAISE;
Copier après la connexion

END;

在这个例子中,如果SELECT语句找不到数据行,则没有找到数据的异常被捕获。异常处理程序将赋值NULL值到emp_id变量。如果有其他未知异常,则使用RAISE语句继续抛出异常。

结论

本文介绍了Oracle存储过程的语法,包括创建存储过程、参数传递、条件分支、循环结构和异常处理。了解Oracle存储过程的语法和使用方法可以让你更好地利用Oracle数据库的强大功能,提高开发效率和应用程序的可靠性。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment créer des utilisateurs et des rôles dans Oracle? Comment créer des utilisateurs et des rôles dans Oracle? Mar 17, 2025 pm 06:41 PM

L'article explique comment créer des utilisateurs et des rôles dans Oracle à l'aide de commandes SQL, et discute des meilleures pratiques pour gérer les autorisations des utilisateurs, y compris l'utilisation des rôles, en suivant le principe des moindres privilèges et des audits réguliers.

Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Mar 13, 2025 pm 01:19 PM

Cet article détaille le masquage et le sous-ensemble des données Oracle (DMS), une solution pour protéger les données sensibles. Il couvre l'identification des données sensibles, la définition des règles de masquage (mélange, substitution, randomisation), mise en place de travaux, surveillance et déploiement

Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Mar 13, 2025 pm 01:16 PM

Cet article explique les curseurs PL / SQL pour le traitement des données Row-by Row. Il détaille la déclaration, l'ouverture, la récupération et la fermeture du curseur, comparant les curses implicites, explicites et ref. Techniques pour une manipulation efficace des ensembles de données importants et une utilisation pour des boucles

Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Comment effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt? Mar 17, 2025 pm 06:39 PM

L'article traite des méthodes pour effectuer des sauvegardes en ligne dans Oracle avec un minimum de temps d'arrêt en utilisant RMAN, les meilleures pratiques pour réduire les temps d'arrêt, assurer la cohérence des données et surveiller les progrès de la sauvegarde.

Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Comment configurer le chiffrement dans Oracle à l'aide du chiffrement transparent des données (TDE)? Mar 17, 2025 pm 06:43 PM

L'article décrit les étapes pour configurer le chiffrement transparent des données (TDE) dans Oracle, détaillant la création du portefeuille, permettant le TDE et le chiffrement des données à différents niveaux. Il discute également des avantages de TDE comme la protection et la conformité des données, et comment Veri

Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Comment implémenter des politiques de sécurité dans Oracle Database à l'aide de la base de données privée virtuelle (VPD)? Mar 13, 2025 pm 01:18 PM

Cet article détaille la mise en œuvre des politiques de sécurité des bases de données Oracle à l'aide de bases de données privées virtuelles (VPD). Il explique la création et la gestion des politiques VPD via des fonctions qui filtrent les données basées sur le contexte de l'utilisateur, mettant en évidence les meilleures pratiques comme le moins P

Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Comment utiliser le référentiel de charge de travail automatique (AWR) et le moniteur de diagnostic de base de données automatique (ADDM) dans Oracle? Mar 17, 2025 pm 06:44 PM

L'article explique comment utiliser AWR et ADDM d'Oracle pour l'optimisation des performances de la base de données. Il détaille la génération et l'analyse des rapports AWR, et l'utilisation d'ADDM pour identifier et résoudre les goulots d'étranglement des performances.

Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Comment utiliser la technologie Flashback pour se remettre de la corruption logique des données? Mar 14, 2025 pm 05:43 PM

L'article discute de l'utilisation de la technologie Flashback d'Oracle pour se remettre de la corruption logique des données, des étapes de détail de la mise en œuvre et de la garantie de l'intégrité des données après la récupération.

See all articles