begin process at 2012 05 27 04:34:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

requete SQL INSERT tableau 2D dans table sql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

requete SQL INSERT tableau 2D dans table sql

mercredi 30 janvier 2008 à 13:42:59 | requete SQL INSERT tableau 2D dans table sql

LaTatadu91

Bonjour,

je debute en SQL, je precise avant tout!
je programme actuellement un petit logiciel sous VC++ et j'effectue quelques requetes SQL pour attaquer une base SQL SERVER EXPRESS

je me retrouve confronté à un probleme pour insérer ou faire un update d'une table avec un tableau 2dimensions tab[50][200]
je voudrais pouvoir insérer chaque élement de ce tableau dans ma table et ce ci en une seule requete
car actuellement je fais une requete pr chaque element : tab[0][0] puis tab[0][1] etc.... -->tab [50][200]
ce qui me donne enormement de requetes au final!

je voudrais donc savoir si il n'y a pas moyen de changer ma requete ou ma table pour insérer mon tableau entier en 1 seule requete...
Merci de votre aide !


 

jeudi 31 janvier 2008 à 22:06:02 | Re : requete SQL INSERT tableau 2D dans table sql

nhervagault

Administrateur CodeS-SourceS
Salut

Si c'est la meme valeur, c'est un
update matable
set value = valeur


si c'est une plage
update matable
set value = valeur
where id = (select id from matable ...jointure  where ..)


si toutes valeurs c'est different c'est 1 requete par valeur
mais il est possible de faire des :lots
en concatenant les requetes dans la meme commande ado
a la place de faire un update par commande

pour les insertions
il existe les bulk insert

bon courage
vendredi 1 février 2008 à 09:37:36 | Re : requete SQL INSERT tableau 2D dans table sql

LaTatadu91

Salut et merci,
je me situe dans ce cas la :
"si toutes valeurs c'est different c'est 1 requete par valeur
mais il est possible de faire des :lots
en concatenant les requetes dans la meme commande ado
a la place de faire un update par commande"

aurais tu un exemple pour un lot de requetes STP?
sinon,
Bulk INSERT j'avais trouver mais ca ne correspond pas car a priori ca permet d'insérer le contenu d'un fichier...

 

vendredi 1 février 2008 à 15:23:37 | Re : requete SQL INSERT tableau 2D dans table sql

nhervagault

Administrateur CodeS-SourceS
C'est simple tu mets toutes les requetes à la queuleuleu séparé par un ; Et apres tu lances tout dans la même commande Attention, il faut eviter que ta commande sont trop grosse pour eviter d'engorger SQL server (il faut pas je pense mettre 1 millions de update dans une commande par exemple) faire des lots de 1000 ou 2000 requetes doit etre intérressant.
vendredi 1 février 2008 à 17:42:10 | Re : requete SQL INSERT tableau 2D dans table sql

LaTatadu91

ok merci je vais faire le test lundi matin
par 1000? bon c'est deja ca...
la j'en ai pr ce coup 6000 a faire on verra ce que ca donne :-)

merci encore !

 

lundi 4 février 2008 à 10:57:50 | Re : requete SQL INSERT tableau 2D dans table sql

LaTatadu91

Salut,

Bon apres tests j'ai réussi à effectuer un lot de 6000 requetes en 42secondes....
ce qui me parait assez performant, le probleme est que pour mon programme c'est bien trop lourd
car beaucoup de choses à gérer...

arf arf arf

 

lundi 4 février 2008 à 11:14:32 | Re : requete SQL INSERT tableau 2D dans table sql

LaTatadu91

et en effectuant mes requetes 1 par 1 ca donne 47secondes....donc effectivement il y a un gain mais moindre!
dommage pour moi!

je vais peut etre pour cette partie me rabattre vers un transfert de fichier :-(

 

lundi 4 février 2008 à 12:11:50 | Re : requete SQL INSERT tableau 2D dans table sql

nhervagault

Administrateur CodeS-SourceS
c'est des temps SQL profiler ou des temps montre en main
lundi 4 février 2008 à 13:11:57 | Re : requete SQL INSERT tableau 2D dans table sql

LaTatadu91

j'ai pris le temps d'execution de mon programme C++ en mettant un difftime avant et juste apres l'appel de la fonction !

 

lundi 4 février 2008 à 20:26:03 | Re : requete SQL INSERT tableau 2D dans table sql

nhervagault

Administrateur CodeS-SourceS
As-tu des index sur ta table dans laquelle tu inseres si oui tu les supprimes et tu les rejoutes apres?
As-tu des triggers sur les insertions?


Il y a surement une cause. Et ton temps est juste le test SQL, d'insertion, il y a pas de code avant et apres le code SQL.
Il y a pas d'opération de chaine de caracteres trop importante, car ca plombe la mémoire des fois.
dans des langages avec VM c#, java et autre les strings sont immuables et donc
reconstruites a chaque fois en c++ je ne sais pas comment, c'est géré.

Bon courage.



1 2

Cette discussion est classée dans : table, sql, tableau, requete, tab


Répondre à ce message

Sujets en rapport avec ce message

pb requete sql [ par lenneth666 ] Voila dans une table Personne , j'ai les trois champs suivants :  personne_id, nom et prénom.j'aimerais faire une reuqete qui me retourne le nom et pr Requete SQL complexe [ par Mindiell ] Bonjour,J'ai un probleme de requete :J'ai une table contenant une societe n°8 par exempleJ'ai une table de personnes : 1, 2, 3, 4, etc...J'ai une autr [SSIS] Requete SQL [ par sdisp ] Bonjour.Je souhaite via SSIS:- exécuter une requête SQL (je souhaite que la requête soit une variable)- créer un fichier texte contenant le résultat d besoin d'aide pour une requete sql [ par elfifie ] J'ai une table Facture qui contient les champs ID_Facture et Montant.Une autre table Achat qui contient les champs Nom et ID_Facture.Sachant que chaqu requete sql [ par ddove53 ] Slt, j'ai une table A et je veux recupérer les noms (table NOM), lesprenoms(table Prenom) et les Emails (table Email) des utilisateurs. Mon probléme Requete SQL et formulaire [ par FlyingAlex ] Bonjour, J'ai effectue la requête suivante : SELECT Max([Master Table].[Part Number]+1) AS [Part NumberOfMax] FROM [Master Table]; Qui me permet d Exporter une table(sql server) dans un fichier xml aprtir de c sharp [ par valantino1 ] Bonjour , Est ce qq'un possede une idée comment exporter un table sql server dans une fichier XML avec le c sharp ? j'ai pensé à la sérialisation de REQUETE SQL [ par Eros2007 ] Bonjour tout le monde. voila ma question: j'utilise une requette sql pour pouvoir faire un preview et imprimer par la suite les enregistrements des cl Requete SQL de Compteur pour un bleu [ par fratod01 ] Bonjour, Je voudrais calculer une différence sur un compteur sauf que ce compteur peut se remettre a zéro Date | Compteur 01/01/2010 00:00:05 | 1 Probleme de requete sql [ par ecirtap12 ] Bonsoir, j'ai la requete sql suivante: "SELECT * FROM table WHERE champ1='".$variable1."' AND champ2='".$variable2."' AND champ3='".$variable3."' OR


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales