Bonjour,

lors de la création de procédures stockées je rencontre un problème, je vous explique le code simplifié suivant:

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 souhaite donc simplement:
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 preneur Merci

Cordialement.