Maison > base de données > tutoriel mysql > Comment appeler une procédure stockée à partir d'une autre dans Oracle ?

Comment appeler une procédure stockée à partir d'une autre dans Oracle ?

Patricia Arquette
Libérer: 2025-01-01 13:36:12
original
489 Les gens l'ont consulté

How to Call One Stored Procedure from Another in Oracle?

Comment exécuter des procédures stockées dans d'autres procédures stockées dans Oracle

Introduction :

Appel une procédure stockée à partir d'une autre est une technique précieuse dans Oracle, permettant aux développeurs de connecter en série des opérations de base de données pour des tâches complexes. scénarios.

Solution :

Pour appeler une procédure stockée dans une autre, utilisez l'une des méthodes suivantes :

1. Instruction CALL :

CALL <procedure_name>([arguments]);
Copier après la connexion

Cette méthode utilise le mot-clé SQL CALL et nécessite des parenthèses, même pour les procédures sans arguments.

Exemple :

CALL test_sp_1();
Copier après la connexion

2. Bloc PL/SQL anonyme :

BEGIN
  <procedure_name>([arguments]);
END;
Copier après la connexion

Les blocs PL/SQL permettent l'invocation directe de procédures.

Exemple :

BEGIN
  test_sp_1;
END;
Copier après la connexion

3. Commande EXEC (SQL*Plus uniquement) :

EXEC <procedure_name>([arguments]);
Copier après la connexion

Cette commande est un raccourci pour un bloc PL/SQL anonyme.

Considérations supplémentaires :

  • Assurez-vous que la procédure appelée existe et dispose des privilèges nécessaires.
  • Si les arguments sont transmis, leurs types de données doivent correspondre à ceux spécifiés dans la procédure appelée.
  • Les erreurs rencontrées lors de l'exécution de la procédure seront propagées à la procédure appelante.

Exemple de code :

SET SERVEROUTPUT ON;

CREATE OR REPLACE PROCEDURE test_sp AS
BEGIN
    DBMS_OUTPUT.PUT_LINE('Test works');
END;

CREATE OR REPLACE PROCEDURE test_sp_1 AS
BEGIN
    DBMS_OUTPUT.PUT_LINE('Testing');
    test_sp;
END;

CALL test_sp_1();
Copier après la connexion

Sortie :

Testing
Test works
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal