|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() PoichOU Étudiant Inscription : juillet 2006 Messages : 296 ![]() |
Bonjour,
je voudrais faire une insertion multiple sous Oracle, est-ce possible ? j'ai testé la commande spécifiée danc le tutoriel http://sql.developpez.com/sqlaz/dml/#L1.2 mais sans succès. Quelqu'un à déjà fait ça ? PoichOU |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Non pas sous oracle.
tu peux faire un Code :
INSERT INTO TABLE(col1, col2) SELECT c1, c2 FROM ....
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() PoichOU Étudiant Inscription : juillet 2006 Messages : 296 ![]() |
les données que je veux insérer ne sont pas déjà stockée en base, je ne peux donc pas faire
Code :
INSERT INTO TABLE(col1, col2) SELECT c1, c2 FROM ... |
|
|
00
|
|
|
#4 |
![]() Salim Développeur et DBA Oracle Inscription : octobre 2006 Messages : 872 ![]() |
|
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
sûr que sql load est une bonne approche. Techniquement, tu pourrais essayer :
Code :
|
||
|
00
|
|
|
#6 |
|
Membre habitué
![]() PoichOU Étudiant Inscription : juillet 2006 Messages : 296 ![]() |
mon problème est que j'ai 100 000 lignes !
j'ai testé ta méthode, elle marche ! J'ai donc construit une super requête avec toutes mes lignes à insérer, le seul problème c'est qu'il me fait un message d'erreur : Code :
ORA-24335: nombre de colonnes acceptées LIMITé à 1000 |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : novembre 2002 Messages : 533 ![]() |
1/ merci de préciser la version d'oracle
2/ tu as la solution des tables externes qui peut largement être envisagée si tu es au moins en 9i. Tu transformes ton fichier excel en CSV et le tour est joué. Je t'invite à rechercher EXTERNAL TABLE sur le forum 3/ Sinon comme cela a déjà été dit SQL*Loader seras ton ami @
__________________
PpPool |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() PoichOU Étudiant Inscription : juillet 2006 Messages : 296 ![]() |
1/ la version d'oracle est : Oracle9i Release 9.2.0.6.0
2/ et 3/ il me semble que dans ces 2 cas je dois créer un fichier csv sur le serveur de base de données. Je ne suis pas admin et je n'ai auncun accès au serveur de base de données, je suis juste utilisateur. |
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Bertrand Administrateur de base de données Inscription : mai 2007 Messages : 126 ![]() |
Bonjour,
Peux être pourrais tu créer ta table externe sur une base locale et y accéder par un dblink. Sinon pour le probléme de limitation de colonnes, scinde la requête. Cdt |
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
pour sqlloader, tu n'as pas besoin d'avoir de fichier sur le serveur, sqlloader fonctionne comme sqlplus avec un client oracle
|
|
00
|
|
|
#11 | ||||
|
Membre expérimenté
![]() Développeur informatique Inscription : juin 2007 Messages : 299 ![]() |
Bon j'ai rencontré le même problème et ai trouvé la solution, c'est pourquoi je me permet de remonter ce vieux sujet.
Vu qu'il apparait en bonne place dans Google, ça pourra sans doute servir. J'utilisais la méthode de laurentschneider dans une transaction lancée par un programme CSharp : Code :
Quand on veut insérer dans une seule table il faut utiliser : Code :
__________________
The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle. |
||||
|
|
00
|
|
|
#12 | |||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Citation:
Code :
|
|||||
|
00
|
|
|
#13 | |
![]() ![]() |
La restriction vient d'ici :
Si on se réfère à la documentation Oracle : Citation:
__________________
Email : http://scr.im/waldar |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() PoichOU Étudiant Inscription : juillet 2006 Messages : 296 ![]() |
Hello à tous (des années après
comme j'avais indiqué dans mon dernier post cette méthode fonctionne bien mais il y a effectivement une limitation (à 999 ou 1000). Personnellement j'avais contourné le problème en faisant plusieurs requêtes PoichOU |
|
|
00
|
|
|
#15 | ||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
ça me rappelle un peu :
http://laurentschneider.com/wordpres...n-a-query.html Code :
![]() Code :
|
||||
|
00
|
Copyright © 2000-2012 - www.developpez.com