1 votes

Utilisation d'ensembles en tant qu'inparamètres d'une fonction/sproc dans SQL Server 2008 ?

Est-il possible d'utiliser un ensemble, comme (1, 2, 3, 4, 5) par exemple, comme paramètre d'une Sproc, d'une fonction ou d'une vue dans SQL Server 2008 ?

Que dois-je utiliser comme Sproc, fonction ou View pour cette partie de SLQ ?

WITH Scores AS(
    SELECT
        ItemId, SUM(Score) AS Score

    FROM [Presenta].[presenta].[LpivScores]

    WHERE
        // HERE I want (1, 2, 3, 4, 5) to be the inparameter, like @inParam
        ListPropertyItemId IN (1, 2, 3, 4, 5)

    GROUP BY
        ItemId
)

-- I want this to be returned
SELECT
    i.Id,
    s.Score
FROM
    Scores s,
    Items i
WHERE
    s.ItemId = i.Id

Toute aide est grandement appréciée !

3voto

Greg Beech Points 55270

Vous voudrez sans doute jeter un coup d'œil sur Paramètres valorisés dans le tableau .

2voto

Mitch Wheat Points 169614

1voto

Aseem Gautam Points 7269

Voici quelques techniques supplémentaires à examiner en dehors des paramètres évalués par le tableau.

Vous pouvez utiliser des valeurs séparées par des virgules, mais vous devrez créer une fonction pour diviser ces valeurs séparées par des virgules. http://vyaskn.tripod.com/passing%5Farrays%5Fto%5Fstored%5Fprocedures.htm

L'autre solution consiste à utiliser les paramètres XML. http://weblogs.asp.net/jgalloway/archive/2007/02/16/passing-lists-to-sql-server-2005-with-xml-parameters.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X