|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : décembre 2008 Messages : 33 ![]() |
Bonjour,
Je travaille sous VS 2010 et SQL Serveur2008. J'ai une table dans ma base de données nommée : "TAB_IND". Cette table contient des colonnes ID, Col1, Col2 et Col3. Initialement la valeur de Col3 est nulle.
Question: Comment puis-je passer ce DataTable comme paramètre à une procédure stockée pour aller mettre Col3 de "TAB_IND" à jour? J'ai un peu regardé sur le google, je pense que la possibilité d'utiliser un paramètre de type Table (possible sous SQL 2008) n'est pas indiquée dans mon cas (à moins que je n'ai pas bien compris la méthode!?!?). Une autre idée serait peut-être:
Pour toute question complémentaire, je suis à votre disposition. Merci d'avance pour toute aide. Maren |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 558 ![]() |
Bonjour,
Citation:
Citation:
EDIT : c'est faux. cf. infra Citation:
A ta place, j'utiliserais plutôt une table temporaire : tu "dump" ta datatable dans une table temporaire (tu as juste besoin de PK + COL3) et ta proc stoc exploite cette table temporaire. Je pense que c'est de très loin le plus simple
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : décembre 2008 Messages : 33 ![]() |
Bonjour et merci pour ta réaction,
je suis tout à fait d'accord avec toi que je n'ai besoin que de ID et Col3 dans la table. Par rapport à ta sugestion : (...A ta place, j'utiliserais plutôt une table temporaire : tu "dump" ta datatable dans une table temporaire...), je n'ai aucune idée comment m'y prendre. Comment puis-je "dump" ma datatable dans une table temporaire? Y a t il un lien où je peux avoir l'info? Merci |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() François Chef de projet NTIC Inscription : janvier 2007 Messages : 6 558 ![]() |
Bon, il s'avére que j'ai écrit une grosse connerie et qu'on peut parfaitement passer une DataTable à une PS (avec SQL Server 2008).
Ici une discussion à ce sujet : http://stackoverflow.com/questions/9...database-table Désolé
__________________
Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça... Une réponse vous a aidé ? utiliser le bouton "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : décembre 2008 Messages : 33 ![]() |
Merci pour le lien,
En suivant les instructions qui y sont mentionnées, j'ai pu résoudre mon pb plus facilement. Je pense que c'est la solution la plus adaptée. Merci beaucoup. |
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() |
Citation:
Pour le cas de passer des types tables à une Procédure Stockée il s'agit des TVP (Table Valued Parameters). Attention à ne pas abuser des TVP (comme de toutes les bonnes choses :-)). SQL SERVER ne maintient pas de statistiques sur ces variables tables, c'est pourquoi MS préconise de ne pas dépasser 1000 enregistrements dans ces "tables".
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. MCTS Database Development |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() |
Une autre solution serait de générer un fichier plat avec vos données générées puis de l'importer dans une table via BULK INSERT ou BCP.exe.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. MCTS Database Development |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() |
Citation:
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. MCTS Database Development |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com