help : fonction table avec curseur dedans
Bonjour, je souhaite faire une boucle sur la fonction "fn_get_Zones" qui me renvoie des id zone. pour chaque id zone, j'appelle une autre fonction qui me renvoie les utilisateurs de la zone passée en paramètre "nr_User_Zone".
sauf que quand je fais dans ma fonction table insert into @maListeZone les enregistrements reçus, j'ai des doublons. je voudrais bien faire une select union des valeurs reçus de "nr_User_Zone". comment faire ? ci-dessous ma fonction :
-----------------------------
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[fn_get_Toutes_Zones] (@user int, @client int, @language int)
RETURNS @maListeZone TABLE(iUser int, strLastName varchar(50), strFirstName varchar(50), userType int)
AS
BEGIN
DECLARE @idZone int
DECLARE Cursor_Zone CURSOR FOR
select idZone from fn_get_Zones(@client,@language,@user)
OPEN Cursor_Zone;
FETCH NEXT from Cursor_Zone into @idZone
WHILE @@FETCH_STATUS = 0
BEGIN
insert into @maListeZone (iUser, strLastName, strFirstName, userType) select * from [dbo].nr_User_Zone (@idZone, @client, @language)
FETCH NEXT from Cursor_Zone into @idZone
--if @@FETCH_STATUS <> 0 THEN
-- SET @maListeZone = @maListeZone + " Union "
--END IF
END;
CLOSE Cursor_Zone;
DEALLOCATE Cursor_Zone;
RETURN
END
GO
---------------------------
merci de vos réponses que j'espère rapide.
yo