Bonjour je viens vers vous car je suis bloqué sur le développement d'une procédure stockée.
Dans ma procédure je récupère les champs d'une table via un curseur.
L'un des champs contient une requête (retournant une seule valeur, requête de la forme, SELECT COUNT...)
J'essaye donc d'affecter le résultat de cette requête à une variable et là je bloque !
Au départ j'ai essayé ça:
SET @nombre_ligne = (@requete)
la compilation marche bien mais lors de l'exécution le message d'erreur suivant apparait : Échec de la conversion de la valeur varchar 'SELECT count(... en type de données int. . Ce qui parait assez logique au final.
Du coup j'ai tenté ce code là:
EXEC ('SET @nombre_ligne = (' + @requete + ')')
Lors de la compilation il n'y a pas d'erreur. Par contre quand j'exécute la message d'erreur suivant apparait : La variable scalaire "@nombre_ligne" doit être déclarée.
Je précise que je déclare bien la variable au début de la procédure stockée
DECLARE @nombre_ligne int
Je ne vois vraiment pas comment m'y prendre sans devoir définir un nouveau curseur pour récupérer le résultat de la requête.
Auriez-vous une idée SVP?
Partager