Maison  >  Article  >  base de données  >  Un article présentant la syntaxe des procédures stockées d'Oracle

Un article présentant la syntaxe des procédures stockées d'Oracle

PHPz
PHPzoriginal
2023-04-04 10:39:501780parcourir

Oracle est un système de gestion de base de données relationnelle doté de puissantes fonctions de procédures stockées. En tant que développeur, ce n'est qu'en maîtrisant la syntaxe des procédures stockées que nous pouvons réaliser des opérations de base de données efficaces, simples et sûres en fonction des besoins de l'entreprise. Cet article présentera la syntaxe des procédures stockées d'Oracle.

1. Introduction aux procédures stockées

Dans Oracle, une procédure stockée est un objet de base de données, qui est une série d'instructions SQL et de structures de contrôle écrites en langage PL/SQL. Il s'agit d'un programme réutilisable qui encapsule plusieurs instructions SQL, qui peuvent mettre en œuvre une logique métier complexe et améliorer considérablement l'efficacité des opérations de base de données.

Les procédures stockées ont les caractéristiques suivantes :

  1. Peut recevoir des paramètres d'entrée et peut également renvoyer des paramètres de sortie
  2. Peut exécuter plusieurs instructions SQL en une seule transaction
  3. Stockée sur le serveur Oracle et peut être partagée par plusieurs applications
  4. Elle peut être exécuté lors de l'appel, ou il peut être exécuté après précompilation

2. Création et exécution de procédures stockées

Dans Oracle, la création d'une procédure stockée nécessite l'utilisation de l'instruction CREATE PROCEDURE La syntaxe est la suivante :

CREATE. [OR REPLACE] PROCEDURE nom_procédure
[(paramètre1 [IN | OUT | IN OUT] type1, [paramètre2 [IN | OUT | IN OUT] type2,...])]
IS
--Déclarer des variables
BEGIN
-- Exécuter des instructions SQL
END ;

Parmi elles,

  1. OR REPLACE signifie que si la procédure stockée existe déjà, remplacez-la, sinon créez directement une nouvelle procédure stockée.
  2. procedure_name représente le nom de la procédure stockée.
  3. parameter représente les paramètres d'entrée ou de sortie de la procédure stockée, et il peut y en avoir plusieurs.
  4. type indique le type de paramètre, notamment VARCHAR2, NUMBER, DATE, etc.
  5. IS indique que le processus stocké a officiellement commencé son exécution.
  6. Entre BEGIN et END se trouve la partie principale de la procédure stockée, qui peut être une instruction SQL ou du code PL/SQL.

Par exemple, ce qui suit est une procédure stockée simple :

CREATE OR REPLACE PROCEDURE HelloWorld
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;

Vous devez utiliser EXECUTE ou Instruction EXEC pour exécuter la procédure stockée, la syntaxe est la suivante :

EXECUTE nom_procédure;

ou:

EXEC nom_procédure;

Par exemple:

EXECUTE HelloWorld;

ou:

EXEC HelloWorld;

3 . Variables et structures de contrôle dans les procédures stockées

Dans les procédures stockées, vous pouvez utiliser des variables et des structures de contrôle pour implémenter une logique métier plus complexe.

  1. Variables

Les variables dans Oracle ont les types suivants :

  • CHAR et VARCHAR2 : utilisés pour stocker des caractères et des chaînes.
  • NUMBER : utilisé pour stocker des types numériques.
  • DATE : utilisé pour stocker les types de date et d'heure.

La syntaxe de déclaration des variables est la suivante :

DECLARE
variable_name variable_type [NOT NULL] [:= value];

Par exemple :

DECLARE
v_emp_id NUMBER := 1001;
v_emp_name VARCHAR2(20) : = 'John' ;
v_salary NUMBER(6,2);

  1. Structure de contrôle

Oracle prend en charge une variété de structures de contrôle, notamment IF, CASE, LOOP, etc.

Les instructions IF sont utilisées pour effectuer différentes opérations en fonction des conditions. La syntaxe est la suivante :

IF condition THEN
instructions;
[ELSIF condition THEN
instructions;]
[ELSE
instructions;]
END IF;

Par exemple :

IF v_salary > 5000 THEN
v_bonus := v_salary * 0.1;
ELSIF v_salary > 3000 THEN
v_bonus := v_salary * 0.05;
ELSE
v_bonus := 0;
END IF;

Déclaration CASE est utilisé en fonction de différentes valeurs de l'expression pour effectuer différentes opérations, la syntaxe est la suivante :

CASE expression
WHEN valeur1 THEN
instructions;
WHEN valeur2 THEN
instructions;
...
[ELSE
instructions ;]
END CASE;

Par exemple :

CASE v_grade
WHEN 'A' ALORS
v_gpa := 4.0;
WHEN 'B' ALORS
v_gpa := 3.0;
ELSE
v_gpa := 2.0;
END CASE ;

L'instruction LOOP est utilisée pour exécuter à plusieurs reprises certaines opérations, la syntaxe est la suivante :

instructions LOOP
 ;
[EXIT | EXIT WHEN v_salary = 0;
END LOOP;

4. Dans Oracle, vous pouvez utiliser du code PL/SQL ou des instructions SQL pour appeler des procédures stockées. Par exemple :

Appel de code PL/SQL :


DECLARE

v_emp_name VARCHAR2(20);

BEGIN

GET_EMPLOYEE_NAME(1001, v_emp_name);

DBMS_OUTPUT.PUT_LINE('Le nom de l'employé est ' || v_emp_name);

FIN ;
  1. Appel d'instruction SQL :


SQL> VARIABLE v_emp_name VARCHAR2(20);
SQL> Grâce à l'introduction de cet article, nous comprenons la syntaxe des procédures stockées d'Oracle, y compris la création et l'exécution de procédures stockées, l'utilisation de variables. et les structures de contrôle, ainsi que l'appel de procédures stockées. En tant que développeur, la maîtrise de ces syntaxes peut grandement améliorer l'efficacité des opérations de base de données.

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:
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