Maison > base de données > Oracle > le corps du texte

Comment créer une procédure stockée Oracle Insert

PHPz
Libérer: 2023-04-18 09:22:25
original
1118 Les gens l'ont consulté

Dans la base de données Oracle, une procédure stockée est un bloc de code PL/SQL précompilé utilisé pour effectuer une tâche spécifique. Il peut recevoir des paramètres d'entrée et renvoyer des valeurs de sortie, et exécuter une série d'instructions SQL. Les procédures stockées peuvent grandement simplifier les opérations de base de données complexes et améliorer les performances de la base de données. Cet article explique comment créer une procédure stockée Oracle Insert.

Création d'une procédure stockée

Dans Oracle, utilisez l'instruction CREATE PROCEDURE pour créer une procédure stockée. Voici un exemple de base :

CREATE OR REPLACE PROCEDURE sp_Insert (
  p_id NUMBER,
  p_name VARCHAR2,
  p_desc VARCHAR2
) AS
BEGIN
  INSERT INTO mytable (id, name, description)
  VALUES (p_id, p_name, p_desc);
  COMMIT;
END;
Copier après la connexion

Dans l'exemple ci-dessus, nous avons utilisé CREATE OR REPLACE pour créer une procédure stockée appelée sp_Insert. Cette procédure stockée a trois paramètres d'entrée : p_id, p_name et p_desc. Nous avons utilisé l'instruction INSERT INTO dans la procédure stockée pour insérer des paramètres d'entrée dans la table mytable. Enfin, nous validons la transaction à l'aide de l'instruction COMMIT.

Appel de procédures stockées

Nous pouvons utiliser l'instruction EXECUTE pour appeler des procédures stockées. Voici un exemple :

EXECUTE sp_Insert(1, 'John', 'Description');
Copier après la connexion

Dans l'exemple ci-dessus, nous avons appelé la procédure stockée nommée sp_Insert et lui avons passé trois paramètres. Lorsque la procédure stockée est exécutée, nous pouvons voir les lignes de données nouvellement insérées dans la table mytable.

Gestion des exceptions dans les procédures stockées

Dans les procédures stockées, nous pouvons utiliser l'instruction EXCEPTION pour gérer les exceptions. Voici un exemple :

CREATE OR REPLACE PROCEDURE sp_Insert (
  p_id NUMBER,
  p_name VARCHAR2,
  p_desc VARCHAR2
) AS
BEGIN
  INSERT INTO mytable (id, name, description)
  VALUES (p_id, p_name, p_desc);
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
    DBMS_OUTPUT.PUT_LINE('Error: ' || SQLCODE || ' - ' || SQLERRM);
END;
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons l'instruction EXCEPTION pour intercepter toute exception. Lorsqu'une exception se produit, nous utilisons l'instruction ROLLBACK pour annuler la transaction et générer les informations anormales SQLCODE et SQLERRM via la méthode DBMS_OUTPUT.PUT_LINE.

Résumé

En utilisant la procédure stockée Oracle Insert, nous pouvons considérablement simplifier les opérations de base de données complexes et améliorer les performances de la base de données. Dans une procédure stockée, nous pouvons utiliser des paramètres d'entrée et des valeurs de sortie, et exécuter une série d'instructions SQL. Dans le même temps, nous pouvons également utiliser des instructions de gestion des exceptions pour gérer toute situation anormale. Bien entendu, lors de la création de procédures stockées, nous devons garder à l’esprit de bons principes de conception pour garantir l’efficacité et la fiabilité des 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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!