Bonjour,
lors de la création de procédures stockées je rencontre un problème, je vous explique le code simplifié suivant:
Je souhaite donc simplement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE PROCEDURE ajouter_document (authorName VARCHAR(64), authorSurname VARCHAR(64)) BEGIN SELECT COUNT(*) AS nbrAuteurs FROM auteurs WHERE nomAuteur = authorName AND prenomAuteur = authorSurname; IF nbrAuteurs < 1 THEN CALL ajouter_auteur(authorName, authorSurname); SELECT idAuteur AS nbrAuteurs FROM auteurs WHERE nomAuteur = authorName AND prenomAuteur = authorSurname; ELSE SELECT idAuteur AS nbrAuteurs FROM auteurs WHERE nomAuteur = authorName AND prenomAuteur = authorSurname; END IF ....
Je compte le nombre d'entrées correspondantes à mon filtre (nom et prénom de l'auteur)
Si ce nombre d'entrées est inférieur à 1 alors je crée un auteur dans la table auteur (via procédure ajouter_auteur), et je sélectionne la clé primaire de la nouvelle entrée
Si ce nombre est supérieur à 1 (voir même égal à 1, je vais créer une règle UNIQUE dans les tables sur certaines entrées), je sélectionne la clé primaire de cette entrée
Le problème c'est que cela ne fonctionne pas, et je n'ai pas su trouver d'aide à l'heure actuelle. Je suppose que mon problème vient de ma variable nbrAuteur qui devrait contenir un entier mais qui n'en contient pas dans l'état actuel des choses.
Si vous avez une piste à m'offrir, je suis preneurMerci
Cordialement.
Partager