Maison > base de données > tutoriel mysql > MySQL peut-il déclarer des variables et utiliser des boucles While en dehors des procédures stockées ?

MySQL peut-il déclarer des variables et utiliser des boucles While en dehors des procédures stockées ?

Linda Hamilton
Libérer: 2024-10-24 10:52:29
original
650 Les gens l'ont consulté

Can MySQL Declare Variables and Use While Loops Outside Stored Procedures?

Déclaration de variables et utilisation d'une boucle While en dehors d'une procédure stockée dans MySQL

Dans MySQL, il n'est pas possible de déclarer des variables et d'utiliser une boucle while en dehors d'une procédure stockée. En effet, ces constructions doivent être déclarées dans la clause BEGIN...END, qui n'est disponible que dans les procédures stockées, les fonctions, les déclencheurs et les événements.

Surmonter les limitations

Si vous devez déclarer des variables et utiliser une boucle while en dehors d'une procédure stockée, vous pouvez créer une procédure stockée temporaire qui encapsule cette fonctionnalité. Voici un modèle que vous pouvez suivre :

<code class="sql">CREATE TEMPORARY PROCEDURE my_temp_proc()
BEGIN
  DECLARE var1 INT;
  DECLARE var2 VARCHAR(255);
  
  WHILE var1 < 10 DO
    SET var2 = CONCAT(var2, 'Iteration ', var1, '\n');
    SET var1 = var1 + 1;
  END WHILE;
END</code>
Copier après la connexion

Utilisation

Pour exécuter la procédure stockée temporaire et accéder aux variables déclarées, vous pouvez utiliser les étapes suivantes :

  1. Exécuter la procédure stockée :

    <code class="sql">CALL my_temp_proc();</code>
    Copier après la connexion
  2. Interroger les variables déclarées à l'aide de la table INFORMATION_SCHEMA.ROUTINE_VARIABLES :

    <code class="sql">SELECT ROUTINE_NAME, VARIABLE_NAME, VARIABLE_TYPE, VARIABLE_VALUE
    FROM INFORMATION_SCHEMA.ROUTINE_VARIABLES
    WHERE ROUTINE_NAME = 'my_temp_proc';</code>
    Copier après la connexion

Cela affichera les valeurs des variables déclaré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
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