Maison > base de données > tutoriel mysql > le corps du texte

MySQL préserve-t-il l'environnement dans lequel les procédures stockées sont créées ?

WBOY
Libérer: 2023-09-11 11:49:02
avant
712 Les gens l'ont consulté

MySQL 是否保留存储过程创建时的环境?

En fait, MySQL conserve l'environnement lors de la création de la procédure stockée. Cela peut être compris à travers l'exemple suivant où nous utilisons deux barres pour concaténer des chaînes. Ceci n'est légal que lorsque le mode SQL est ansi. Cependant, si nous changeons le mode SQL en non-ansi, le processus fonctionne toujours comme si le paramètre d'origine était toujours vrai.

Exemple

mysql> Set sql_mode = 'ansi'//
Query OK, 0 rows affected, 1 warning (0.14 sec)

mysql> Create Procedure Con_string()
    -> SELECT 'a'||'b'//
Query OK, 0 rows affected (0.12 sec)
mysql> Call Con_string ();
+----------+
| 'a'||'b' |
+----------+
| ab       |
+----------+
1 row in set (0.05 sec)

Query OK, 0 rows affected (0.05 sec)

mysql> Set sql_mode = '';
Query OK, 0 rows affected (0.00 sec)

mysql> Call Con_string();
+----------+
| 'a'||'b' |
+----------+
| ab       |
+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Copier après la connexion

Le résultat défini ci-dessus montre que même après avoir changé le mode SQL en non-ansi, la procédure Con_string() produit toujours les mêmes résultats que si le mode SQL était toujours ansi. Mais le nouveau programme n'acceptera pas les deux barres car nous avons changé le mode SQL en non-ansi.

mysql> create procedure Con_string1()
    -> Select 'a'||'b'//
Query OK, 0 rows affected (0.02 sec)

mysql> Call Con_string1()//
+----------+
| 'a'||'b' |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

Query OK, 0 rows affected, 2 warnings (0.00 sec)
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!

source:tutorialspoint.com
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!