Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 18h34   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 6
Points : 0
Points : 0
Par défaut insert select qui pose problème

j'ai un petit problème concernant un insert select

voici ma requete :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
NULL AS "MFK$RICHFORMAT",
NULL AS "MFK$GUID",
NULL AS "MFK$CTS",
NULL AS "MFK$LMTS",
NULL AS "ligneid",
"lignenum",
"lignerestant",
"ligneannee",
"lignecrdd",
"ligneinteret",
"lignecr","ligneass","ligneintass","ligneintded","ligneech","lignecrdf","lignefinid"
FROM "lignecreditsimu" 
WHERE "lignefinid"=
(SELECT DISTINCT("finID") FROM "FinancementSimu" WHERE "SimID"=563)
cette requete me ramene 20 lignes.
ligneid est la pk et en autoincrement

hors quand je rajoute un : insert into "lignecreditsimu" select ....

mon insert par en sucette et insert un nombre massif de ligne.

ou suis je dans l'erreur ?
vgaudin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 22h13   #2
Membre à l'essai
 
Inscription : avril 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 25
Points : 23
Points : 23
Aie Aie Aie
ce n'est pas la plus jolie des fonctionnalités de FB ...

c'est il me semble un pb dans la détéction des invariants comme diraient les spécialistes.

Une solution: faire l'insert en deux temps en utilisant une table temporaire, car FB ne sais pas faire d'insert select sur une même table.

Slts
PAscal
pascal_legrand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 09h06   #3
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
passer par un curseur, c'est la seule solution
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 09h07   #4
Invité de passage
 
Inscription : septembre 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 6
Points : 0
Points : 0
effectivement quand je fait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT 
NULL AS "MFK$RICHFORMAT",
NULL AS "MFK$GUID",
NULL AS "MFK$CTS",
NULL AS "MFK$LMTS",
NULL AS "ligneid",
"lignenum",
"lignerestant",
"ligneannee",
"lignecrdd",
"ligneinteret",
"lignecr","ligneass","ligneintass","ligneintded","ligneech","lignecrdf","99999999999"
FROM "lignecreditsimu" 
WHERE "lignefinid"=
(SELECT DISTINCT("finID") FROM "FinancementSimu" WHERE "SimID"=563)
cela fonctionne ...

merci pour la piste parce que là, firebird partait en boucle et fesait des inserts massifs ...
vgaudin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h52.


 
 
 
 
Partenaires

Hébergement Web