Ceci est ma principale structure de la table:problème avec la procédure stockée?
La colonne d'expertise est une relation plusieurs à plusieurs avec une autre table qui a une liste des langues disponibles. Je voulais avoir une structure aplatie pour afficher tous les langages d'une personne, donc j'ai écrit une procédure stockée qui stringifie ces multiples expertises pour s'adapter à chaque utilisateur.
Lorsque j'ai appelé ce sp à partir de mon application wpf, il n'affiche pas les valeurs. J'ai essayé les «données de prévisualisation» du navigateur d'objet qui a montré seulement une rangée de ma table.
(Résultat attendu:
Quel est le problème avec mon approche
mon Sp:?
create procedure myView as
Begin
DECLARE @count INT,@finCount INT,@result varchar(50)
SET @result =' '
SET @count = 1
SELECT @finCount=COUNT(*) FROM usersProfile
WHILE (@count <= @finCount)
BEGIN
SELECT @[email protected]+langName+','
FROM expertises
INNER JOIN ED_UPD_MERGE on expertises.id=ED_UPD_MERGE.idfrmED
INNER JOIN usersprofile on ED_UPD_MERGE.idfrmUPD=usersprofile.expertiseid
WHERE usersprofile.id [email protected]
SELECT usersProfile.id,usersProfile.fullname,usersProfile.screename ,usersProfile.age ,usersProfile.address ,usersProfile.emailid1 ,usersProfile.emailid2 ,usersProfile.isActive ,usersProfile.entryCreated ,usersProfile.entryModified ,usersProfile.experience ,roles.rolesName,@result as Expertise
FROM usersProfile
JOIN roles
ON usersProfile.roleid =roles.id
WHERE usersprofile.id [email protected]
SET @result= ''
SET @count = (@count + 1)
END
End
D'accord, ne stockez jamais de données dans un srtring délimité, si vous avez une relation plusieurs à plusieurs qui nécessite trois tables. – HLGEM
Kyle: Je ne peux pas t'avoir. Elaborer pls :) – sarath
PS: J'ai une table de bridge si c'est de quoi on parle. J'ai peur que je n'en ai pas parlé plus tôt (mais c'est évident de la JOINS dans mon sp). – sarath