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);
BEGIN
STR3 := STR1 || ' ' || STR2; DBMS_OUTPUT.PUT_LINE(STR3); STR3 := CONCAT(STR1, ' ', STR2); DBMS_OUTPUT.PUT_LINE(STR3);
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)
);
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);
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);
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!