Bonjour,
Pour exécuter une requête SQL et ressortir son résultat sous le forme d'un seul résultat de requête j'ai besoin de développer une fonction scalaire SQL Server.
Hors, je n'y connais pas grand chose en TSQL.
La table sur laquelle je veux faire un Select contient les champs INTITULE, DESCRIPTION, INCIDENTID (foreign key, c'est le paramètre de ma fonction).


Voici le code que j'ai réussis à produire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
USE BaseDev
GO
 
CREATE FUNCTION [dbo].[GetListeActionsByINCIDENTID]
(
		@_INCIDENTID Integer	
)
RETURNS varchar(800)
AS
BEGIN
	DEClARE @ligne varchar(800)
	DECLARE	@liste varchar(800)
 
	DECLARE cur CURSOR FAST_FORWARD FOR
		SELECT INTITULE DESRIPTION
		FROM [BaseDev].[dbo].[ACTION]
		WHERE INCIDENTID = @_INCIDENTID
	OPEN cur
	set @liste = ''
	FETCH NEXT FROM cur INTO @ligne
	WHILE @@FETCH_STATUS=0 BEGIN
		SET @liste = @liste + ' ' + @ligne 
		FETCH NEXT FROM cur INTO @ligne
	END
	CLOSE cur
	DEALLOCATE cur
 
	RETURN @liste
 
END
GO
Le problème que je rencontre c'est que quand je fait mon SELECT sur ma fonction je ne récupère que les intitulés de ma table par contre je récupère bien mes multiples lignes.
Merci pour votre aide.