Meilleur auteur de réponses
Passer un tableau à une procédure stockée

Question
-
Bonjour,
Comment je peux passer un tableau à une procédure stockée.
J'ai essayé de passer une chaine de caractère mais je n'et pas pu la diviser.
Voici le code de la procédure:CREATE PROCEDURE [dbo].[usp_client_Filter]
@client nvarchar(64)= N'%%',
@clientValues nvarchar(64),
AS
BEGIN
SELECT [SocieteLib], [ClientID], [ClientLib]FROM MyDatabase
WHERE
( (([ClientLib] Like @client) or ([ClientLib] in (@clientValues)) or ([ClientLib] is null)))
END
Merci en avance
Réponses
-
Avec SQL Server 2005, vous ne pouvez pas passer de tableau directement à une procédure stockée.
Vous avez diverses solutions de contournement :
- Passer par une table temporaire. Vous mettez le résultat de votre 1ère requête dans la table temporaire que vous utilisez dans un 2ème temps dans votre procédure stockée.
- Transformer votre tableau au format XML et passer en paramètre un champ de type XML
- Concaténer le résultat de votre 1ère requête en une liste de valeurs séparés par une virgule par exemple en tant que chaîne de caractère que vous passez en paramètre à votre procédure.
++
MCDBA | MCITP SQL Server 2005 | LPI 1- Marqué comme réponse boussarsar mardi 4 août 2009 19:40
Toutes les réponses
-
-
-
Avec SQL Server 2005, vous ne pouvez pas passer de tableau directement à une procédure stockée.
Vous avez diverses solutions de contournement :
- Passer par une table temporaire. Vous mettez le résultat de votre 1ère requête dans la table temporaire que vous utilisez dans un 2ème temps dans votre procédure stockée.
- Transformer votre tableau au format XML et passer en paramètre un champ de type XML
- Concaténer le résultat de votre 1ère requête en une liste de valeurs séparés par une virgule par exemple en tant que chaîne de caractère que vous passez en paramètre à votre procédure.
++
MCDBA | MCITP SQL Server 2005 | LPI 1- Marqué comme réponse boussarsar mardi 4 août 2009 19:40
-