Maison  >  Article  >  base de données  >  Comment attribuer des valeurs aux variables dans les procédures stockées Oracle

Comment attribuer des valeurs aux variables dans les procédures stockées Oracle

PHPz
PHPzoriginal
2023-04-04 10:40:224937parcourir

Les procédures stockées Oracle sont une technologie de la base de données Oracle utilisée pour stocker et gérer les codes d'opération de la base de données. Les procédures stockées sont des morceaux de code SQL précompilés qui peuvent être écrits et maintenus par un administrateur de base de données ou un développeur. Dans les procédures stockées Oracle, les variables sont un composant très important. Dans cet article, nous nous concentrerons sur la façon d'attribuer des valeurs aux variables dans les procédures stockées Oracle.

Variables dans les procédures stockées Oracle

Dans les procédures stockées Oracle, une variable est un ensemble de cellules mémoire qui peuvent être utilisées pour stocker une valeur ou un ensemble de valeurs. Les noms de variables sont uniques et doivent suivre les règles de dénomination des identifiants. Dans les procédures stockées Oracle, il existe de nombreux types de variables. Voici quelques types de variables couramment utilisés dans les procédures stockées Oracle :

  1. CHAR : utilisé pour stocker des données de caractères de longueur fixe.
  2. VARCHAR2 : utilisé pour stocker des données de caractères de longueur variable.
  3. NUMBER : utilisé pour stocker des données numériques.
  4. BOOLEAN : valeur booléenne utilisée pour stocker vrai/faux.
  5. DATE : utilisé pour stocker les données de date et d'heure.
  6. TABLE : utilisé pour stocker les types de données de collecte.
  7. REF CURSOR : utilisé pour stocker les variables du curseur.

Attribuer des valeurs aux variables

Les procédures stockées Oracle peuvent attribuer des valeurs aux variables de différentes manières. Les méthodes courantes incluent l'affectation directe, l'instruction SELECT INTO et le passage de paramètres.

  1. Affectation directe

L'affectation directe est le moyen le plus simple d'attribuer des valeurs aux variables dans les procédures stockées Oracle. La syntaxe de l'affectation directe est la suivante :

variable_name := value;

où variable_name est le nom de la variable et value est la valeur de la variable. Par exemple, la procédure stockée suivante montre comment attribuer une valeur à une variable en utilisant l'affectation directe :

CREATE OR REPLACE PROCEDURE assign_variable
IS
  x VARCHAR2(100);
BEGIN
  x := 'Hello, World!';
  DBMS_OUTPUT.PUT_LINE(x);
END;

Dans la procédure stockée ci-dessus, nous utilisons la variable x de type VARCHAR2 et attribuons la valeur à « Hello, World ! '. Nous utilisons ensuite l'instruction DBMS_OUTPUT.PUT_LINE pour afficher la valeur de la variable.

  1. Instruction SELECT INTO

L'instruction SELECT INTO est un autre moyen couramment utilisé pour attribuer des valeurs aux variables dans les procédures stockées Oracle. L'instruction SELECT INTO sélectionne les données d'une table de base de données et stocke les données dans une variable. La syntaxe de l'instruction SELECT INTO est la suivante :

SELECT column_name(s) INTO variable_name(s) FROM table_name WHERE condition;

Parmi eux, column_name(s) est le nom de la colonne à sélectionner dans la table ou la fonction SQL à exécuter. variable_name(s) est le nom de la variable qui doit stocker la valeur de la colonne ou la valeur de retour de la fonction. table_name est le nom de la table qui a besoin d'une valeur et condition est une clause WHERE facultative. Par exemple, la procédure stockée suivante montre comment utiliser l'instruction SELECT INTO pour attribuer une valeur à une variable :

CREATE OR REPLACE PROCEDURE get_employee_name
IS
  emp_name VARCHAR2(100);
BEGIN
  SELECT first_name INTO emp_name FROM employees WHERE employee_id = 100;
  DBMS_OUTPUT.PUT_LINE('Employee name is ' || emp_name);
END;

Dans la procédure stockée ci-dessus, nous utilisons la variable de type VARCHAR2 emp_name et récupérons les données prénom de l'employé dont l'employé_id est 100 de la table des employés et ajoutez La valeur est stockée dans la variable emp_name. Nous utilisons ensuite l'instruction DBMS_OUTPUT.PUT_LINE pour afficher la valeur de la variable.

  1. Passage de paramètres

Le passage de paramètres est un autre moyen courant d'attribuer des valeurs aux variables dans les procédures stockées Oracle. Le passage de paramètres fait référence au passage de variables en tant que paramètres d'entrée ou paramètres de sortie d'une procédure stockée. Les paramètres d'entrée de la procédure stockée sont utilisés pour transmettre des valeurs à la procédure stockée, et les paramètres de sortie sont utilisés pour transmettre les valeurs de la procédure stockée au programme appelant. La syntaxe du transfert des paramètres est la suivante :

PROCEDURE procedure_name(param1 IN datatype1, param2 OUT datatype2)

Parmi eux, param1 est le paramètre d'entrée et param2 est le paramètre de sortie. datatype1 et datatype2 sont les types de données des paramètres d'entrée et des paramètres de sortie, par exemple, VARCHAR2, NUMBER, etc. Par exemple, la procédure stockée suivante montre comment utiliser le passage de paramètres pour attribuer des valeurs aux variables :

CREATE OR REPLACE PROCEDURE add_numbers (
          x IN NUMBER,
          y IN NUMBER,
          z OUT NUMBER)
IS
BEGIN
          z := x + y;
END;

Dans la procédure stockée ci-dessus, nous définissons trois variables x, y, z, où x, y sont des paramètres d'entrée et z est le paramètre de sortie. La procédure stockée attribue la somme de x et y à z et renvoie la valeur de z au programme appelant.

Résumé

Cet article se concentre sur la façon d'attribuer des valeurs aux variables dans les procédures stockées Oracle. Dans les procédures stockées Oracle, les variables sont un composant très important. Les variables sont de différents types et des valeurs peuvent être attribuées aux variables de différentes manières. Une utilisation compétente des variables peut fournir un support solide pour l'écriture de procédures stocké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