Dans une procédure stockée j'ai besoin d'envoyer un tableau de int en paramètre.
Est-ce possible ?
Comment faire ?
Merci beaucoup
Dans une procédure stockée j'ai besoin d'envoyer un tableau de int en paramètre.
Est-ce possible ?
Comment faire ?
Merci beaucoup
Salut,
deux solutions :
- un grand varchar avec un délimiteur, que tu parses dans ta sp, par exemple à l'aide d'une fonction qui retourne une table.
- une structure XML que tu envoies dans un grand varchar, ou un TEXT, et que tu convertis en table dans ta sp avec OPENXML.
Un exemple de openxml que j'ai sous la main :
Pour un XML de ce genre :
Code comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7<Elements> <Element> <Key/> <Value/> </Element> </Elements>
... ou sans passer par une variable table, directement dans un JOIN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DECLARE @idoc int DECLARE @tField TABLE (FieldName varchar(100), Value varchar(100)) EXEC master.dbo.sp_xml_preparedocument @idoc OUTPUT, @KeyValue INSERT INTO @tField (FieldName, Value) SELECT FieldName, Value FROM OPENXML(@idoc, '/Elements/Element', 2) WITH (FieldName varchar(100) 'Key', Value varchar(100))
En étant conscient que les performances du OPENXML peuvent poser problème sur un serveur très sollicité. A tester.
Rudi Bruchez
Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
LIVRES : Optimiser SQL Server -
Microsoft SQL Server 2012 Security Cookbook - les bases de données NoSQL
e-learning : LinkedIn Learning - Pluralsight
C'est un serveur très sollicité donc je vais faire la première solution.
Comment je fais pour le parser ?
Quels sont les fonctions à utiliser dans sqlserver ?
Merci beaucou pde ton aide.
Tu as des exemples ici : http://www.aspfaq.com/show.asp?id=2248.
Rudi Bruchez
Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
LIVRES : Optimiser SQL Server -
Microsoft SQL Server 2012 Security Cookbook - les bases de données NoSQL
e-learning : LinkedIn Learning - Pluralsight
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager