-
CRÉER UNE PROCÉDURE
Créez une procédure stockée qui stocke une table dans une base de données MySQL.
CRÉER UNE FONCTION
Créez une fonction définie par l'utilisateur, en particulier une procédure stockée qui renvoie des données.
MODIFIER LA PROCÉDURE
Les modifications apportées à une procédure stockée prédéfinie créée avec CREATE PROCEDURE n'affectent pas les procédures stockées ou les fonctionnalités stockées associées. .
MODIFIER LA FONCTION
Les modifications apportées à une procédure stockée prédéfinie créée avec CREATE FUNCTION n’affectent pas les procédures stockées ou les fonctions stockées associées. .
PROCÉDURE DE CHUTE
Supprimez une ou plusieurs procédures stockées d'une table MySQL.
FONCTION DE GOUTTE
Supprimez une ou plusieurs fonctions stockées d'une table MySQL.
AFFICHER LA PROCÉDURE DE CRÉATION
Renvoie le texte d'une procédure stockée prédéfinie créée à l'aide de CREATE PROCEDURE. Cette déclaration est une extension MySQL de la spécification SQL:2003.
AFFICHER LA FONCTION DE CRÉATION
Renvoie le texte d'une procédure stockée prédéfinie créée à l'aide de CREATE FUNCTION. Cette déclaration est une extension MySQL de la spécification SQL:2003.
AFFICHER L'ÉTAT DE LA PROCÉDURE
Renvoie les caractéristiques d'une procédure stockée prédéfinie, notamment le nom, le type, le créateur, la date de création et la date de modification. Cette déclaration est une extension MySQL de la spécification SQL:2003.
AFFICHER L'ÉTAT DE LA FONCTION
Renvoie les caractéristiques d'une fonction stockée prédéfinie, notamment le nom, le type, le créateur, la date de création et la date de modification. Cette déclaration est une extension MySQL de la spécification SQL:2003.
APPEL
Appelez une procédure stockée prédéfinie créée à l’aide de CREATE PROCEDURE.
DÉBUT... FIN
Contient un ensemble de plusieurs instructions exécutées.
DÉCLARER
Utilisé pour spécifier des variables locales, des environnements, des processeurs et des pointeurs.
ENSEMBLE
Utilisé pour modifier les valeurs des variables du serveur locales et globales.
SÉLECTIONNER... DANS
Colonne utilisée pour stocker les variables d'affichage.
OUVRIR
Utilisé pour ouvrir un pointeur.
ALLER CHERCHER
Utilisez un pointeur spécifique pour obtenir la colonne suivante.
FERMER
Utilisé pour fermer et ouvrir le pointeur.
SI
Une instruction if-then-else-end if.
CAS... QUAND
La structure d'une déclaration de cas
BOUCLE
Une structure de boucle simple ; elle peut être quittée à l’aide de l’instruction LEAVE.
PARTIR
Utilisé pour quitter les instructions IF, CASE, LOOP, REPEAT et WHILE.
RÉPÉTER
Utilisé pour redémarrer le cycle.
RÉPÉTER
La boucle est testée à la fin.
ALORS QUE
Une boucle qui est testée au début.
RETOURS
Renvoie la valeur d'une procédure stockée.
MySQL 5.0 prend en charge les instructions de procédures stockées.
1. Créez une procédure stockée
1.Grammaire de base :
créer une procédure sp_name()
commencer
.........
fin
2. Passage de paramètres
2. Appelez la procédure stockée
1.Syntaxe de base : appelez sp_name()
Remarque : Des parenthèses doivent être ajoutées après le nom de la procédure stockée, même si aucun paramètre n'est transmis à la procédure stockée.
3. Supprimer les procédures stockées
1.Grammaire de base :
supprimer la procédure sp_name//
2. Précautions
(1) Vous ne pouvez pas supprimer une autre procédure stockée dans une procédure stockée, vous pouvez uniquement appeler une autre procédure stockée
4. Blocs, conditions, boucles
1. Définition de bloc, couramment utilisée
commencer
...
fin;
Vous pouvez également donner au bloc un alias, tel que :
étiquette: début
...........
étiquette de fin ;
Vous pouvez utiliser exit label; pour sortir du bloc et exécuter le code après le bloc.
2. Déclaration conditionnelle
si condition alors
déclaration
autre
déclaration
terminer si ;
3. Instruction de boucle
(1) .while boucle
[étiquette :] PENDANT que l'expression FAIRE
déclarations
FIN PENDANT [étiquette] ;
(2).boucle boucle
[étiquette :] BOUCLE
déclarations
FIN DE BOUCLE [étiquette] ;
(3).répétez jusqu'à ce que la boucle
[étiquette :] RÉPÉTER
déclarations
JUSQU'à l'expression
FIN DE RÉPÉTITION [étiquette] ;
5. Autres commandes couramment utilisées
1.afficher l'état de la procédure
Affiche les informations de base de toutes les procédures stockées dans la base de données, y compris la base de données à laquelle elle appartient, le nom de la procédure stockée, l'heure de création, etc.
2.show créer une procédure sp_name
Syntaxe de création de procédures stockées :
CREATE PROCEDURE nom_procédure ([paramètre[,...])
[LANGAGE SQL]
[ [NON] DÉTERMINISTE ]
[{CONTIENT SQL|MODIFIE LES DONNÉES SQL|LIT LES DONNÉES SQL|AUCUN SQL}]
[SQL SÉCURITÉ {DÉFINEUR|INVOCATEUR}]
[COMMENTAIRE comment_string]
procédures_statements
Vous pouvez utiliser SHOW PROCEDURE STATUS ou SHOW CREATE PROCEDURE pour afficher les informations sur les procédures stockées. De plus, la table système INFORMATION_SCHEMA.ROUTINES contient également des informations sur les procédures stockées. De même, les fonctions peuvent également être affichées de la même manière (SHOW FUNCTION STATUS).
Création de fonctions
CREATE FUNCTION nom_fonction (paramètre[,...])
Type de données RETOURNE
[LANGAGE SQL]
[ [NON] DÉTERMINISTE ]
[ {CONTIENT SQL | PAS DE SQL | MODIFIE LES DONNÉES SQL | LIT LES DONNÉES SQL}]
[SQL SÉCURITÉ {DÉFINEUR|INVOCATEUR}]
[COMMENTAIRE comment_string]
Corps de la déclaration
Les fonctions sont fondamentalement les mêmes que les procédures stockées. Les principales différences sont :
1. Pour utiliser RETURNS pour spécifier le type de retour
2. La fonction doit renvoyer une valeur et utiliser RETURN dans le corps de l'instruction (remarque : utilisez RETURNS pour spécifier le type de retour et RETURN pour la valeur de retour)
3. Les paramètres ne font pas de distinction entre IN et OUT, tous sont de type IN.
exemple:
CRÉER UNE FONCTION cust_status(in_status CHAR(1))
RETOURNE VARCHAR(20)
BEGIN DECLARE long_status VARCHAR(20);
SI in_status="O" ALORS SET long_status="Overdue";
ELSEIF in_status="U" THEN SET long_status="À jour";
ELSEIF in_status="N" THEN SET long_status="new";
FIN SI ;
RETOUR(long_status);
FIN;
Appel:
SELECT cust_status('O');
déclenchement
CREATE [DEFINER={user|CURRENT_USER}] TRIGGER nom_trigger
{AVANT|APRÈS} {MISE À JOUR|INSÉRER|SUPPRIMER}
SUR nom_table
POUR CHAQUE LIGNE
trigger_statements
Signification : L'opération d'instruction trigger_statements est déclenchée avant (avant) ou après (après) que les opérations de mise à jour, d'insertion et de suppression soient effectuées sur la table nom_table.
exemple:
mysql> CREATE TRIGGER account_balance_au
APRÈS LA MISE À JOUR SUR account_balance POUR CHAQUE LIGNE
COMMENCER
DÉCLARER un INT factice ;
SI NOUVEAU.balance<0 ALORS
SET NEW.balance=NULL;
FIN SI ;
FIN
Le déclencheur ci-dessus signifie : après avoir mis à jour la table account_balance, si la valeur du solde mise à jour est inférieure à 0, remplacez-la par NULL.
Remarque : S'il s'agit de OLD.balance, cela signifie la valeur d'origine avant la mise à jour.