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

épissage de procédure stockée Oracle

WBOY
Libérer: 2023-05-14 09:26:07
original
3556 Les gens l'ont consulté

Avant-propos

Dans la base de données Oracle, une procédure stockée est un script utilisé pour exécuter une série d'instructions SQL et qui peut être appelée dans le programme. Les procédures stockées présentent les avantages d'un calcul rapide, d'une réutilisabilité, d'une maintenance simple et facile, etc., elles sont donc largement utilisées dans le développement réel. Cet article présentera l'opération d'épissage des chaînes dans les procédures stockées.

1. Épissage de chaînes Oracle

Il existe de nombreuses méthodes d'épissage de chaînes dans la base de données Oracle. Les plus courantes incluent le symbole || Parmi eux, le symbole || est l'opérateur unique d'Oracle, ce qui signifie que deux chaînes sont connectées entre elles. Par exemple :

SELECT 'Hello ' || 'World' FROM DUAL;

L'instruction ci-dessus renverra la chaîne "Hello World". Il convient de noter que le symbole || ne peut concaténer que deux chaînes et ne peut pas être utilisé pour concaténer plusieurs chaînes. De plus, si NULL apparaît dans la chaîne connectée, le résultat renvoyé est également NULL. Par exemple :

SELECT 'Hello ' || NULL || 'World' FROM DUAL;

Cette instruction renverra une valeur NULL.

Une autre méthode de concaténation de chaînes couramment utilisée est la fonction CONCAT. Cette fonction concatène deux chaînes ou plus et renvoie la chaîne concaténée. Par exemple :

SELECT CONCAT('Hello ', 'World') FROM DUAL;

L'instruction ci-dessus renverra la chaîne "Hello World". Lorsque vous utilisez la fonction CONCAT pour concaténer des chaînes, si une chaîne est NULL, la fonction renverra une valeur NULL. Par exemple :

SELECT CONCAT('Hello ', NULL, 'World') FROM DUAL;

Cette instruction renverra également une valeur NULL.

2. Épissage de chaînes dans les procédures stockées Oracle

Dans les procédures stockées Oracle, vous pouvez également utiliser le symbole || et la fonction CONCAT pour effectuer des opérations d'épissage de chaînes. Par exemple :

CREATE OR REPLACE PROCEDURE PROC1 AS

STR1 VARCHAR2(20) := 'Hello';
STR2 VARCHAR2(20) := 'World';
STR3 VARCHAR2(50);
Copier après la connexion

BEGIN

STR3 := STR1 || ' ' || STR2;
DBMS_OUTPUT.PUT_LINE(STR3);

STR3 := CONCAT(STR1, ' ', STR2);
DBMS_OUTPUT.PUT_LINE(STR3);
Copier après la connexion

END;

La procédure stockée PROC1 définit trois variables de chaîne : STR1, STR2 et STR3. Dans la procédure stockée, utilisez d'abord le symbole || pour connecter STR1 et STR2 ensemble et attribuer la valeur à STR3, puis utilisez la fonction CONCAT pour connecter STR1 et STR2 ensemble et attribuer la valeur à STR3. Enfin, utilisez DBMS_OUTPUT.PUT_LINE pour afficher STR3 dans la fenêtre de sortie du SGBD.

Il est à noter que dans les procédures stockées Oracle, si vous souhaitez connecter plusieurs chaînes, il est recommandé d'utiliser la fonction CONCAT pour fonctionner, ce qui peut garantir la stabilité et la lisibilité du code.

3. Exemple de code

Afin de mieux comprendre l'opération d'épissage de chaînes dans les procédures stockées Oracle, l'exemple de code complet est donné ci-dessous :

CREATE TABLE USER_INFO (

USER_ID     NUMBER(10),
USER_NAME   VARCHAR2(50),
PHONE_NUM   VARCHAR2(20)
Copier après la connexion

);

INSERT INTO USER_INFO VALUES(1 , 'Alice', '1234567890');
INSERT INTO USER_INFO VALUES(2, 'Bob', '0987654321');
INSERT INTO USER_INFO VALUES(3, 'Charlie', '1357924680');

COMMIT;

CREATE OU REPLACE PROCEDURE PROC2 AS

STR1 VARCHAR2(30);
STR2 VARCHAR2(100);
Copier après la connexion

BEGIN

FOR CURR IN (SELECT USER_NAME, PHONE_NUM FROM USER_INFO ORDER BY USER_ID) LOOP
    STR1 := 'USER NAME: ' || CURR.USER_NAME || ', ';
    STR2 := CONCAT(STR2, STR1, 'PHONE NUM: ', CURR.PHONE_NUM, CHR(10));
END LOOP;
DBMS_OUTPUT.PUT_LINE(STR2);
Copier après la connexion

END;

Après avoir exécuté cette procédure stockée, le nom et le numéro de téléphone de chaque utilisateur seront affichés. Parmi eux, CHR(10) représente le caractère Unicode 10, qui est le caractère de retour chariot et est utilisé pour la sortie de saut de ligne.

4. Résumé

L'épissage de chaînes est souvent utilisé dans les procédures stockées Oracle, et le symbole || et la fonction CONCAT sont des méthodes courantes pour implémenter l'épissage. Vous pouvez utiliser le symbole || pour connecter deux chaînes, mais il ne convient pas pour connecter plusieurs chaînes ; la fonction CONCAT peut connecter plusieurs chaînes et gérer les valeurs NULL, il est donc recommandé d'utiliser la fonction CONCAT pour les opérations d'épissage de chaînes.

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