OVH Cloud OVH Cloud

Insert de lignes multiples

6 réponses
Avatar
jack
Bonjour,

j'ai récupéré des scripts ressemblant à celui-ci, certains avec des milliers
d'enregistrements

INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
etc,etc...

Quelqu'un a-t-il une idée pour les transformer simplement en des insert
valides pour SQLServer ?

Merci

6 réponses

Avatar
thierry
jack wrote:

Bonjour,

j'ai récupéré des scripts ressemblant à celui-ci, certains avec des
milliers d'enregistrements

INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
etc,etc...

Quelqu'un a-t-il une idée pour les transformer simplement en des insert
valides pour SQLServer ?

Merci



Passes par excel, non ?
Tu copies la première ligne dans la colonne A
INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
puis tu la duplique autant de fois que nécessaire
tu copies la partie basse dans la colonne B
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
dans la colonne C tu récupére la partie gauche de la colonne b en faisant un
left(colonneB, len(colonneB) - 1) pour enlever la virgule
tu fais un copier coller valeur only de ta colonne qui contient la formule
Tu supprimes la colonne B
et après soit tu copie la colonne A et B et tu la met dans ton analyseur de
requete
soit alors dans la colonne C tu fais un concat de la colonne A et B , tu
copies le résultat de la colonne C
dans ton analyseur de requete

Ca devrait le faire !!

Sincèrement
T
Avatar
jack
Merci,

je peux aussi faire un truc du genre
remplacer ")," par ") INSERT INTO DEPARTEMENT (id_region, id_departement,
departement) VALUES"
et ensuite lancer la requete mais je me demandais si il n'y avait pas
quelque chose de plus "fin" en SQL

Cordialement

"thierry" wrote in message
news:4113572a$0$24062$
jack wrote:

> Bonjour,
>
> j'ai récupéré des scripts ressemblant à celui-ci, certains avec des
> milliers d'enregistrements
>
> INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
> (22,1,'Ain'),
> (10,25,'Doubs'),
> (18,49,'Maine et Loire'),
> (22,73,'Savoie'),
> (19,2,'Aisne')
> etc,etc...
>
> Quelqu'un a-t-il une idée pour les transformer simplement en des insert
> valides pour SQLServer ?
>
> Merci

Passes par excel, non ?
Tu copies la première ligne dans la colonne A
INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
puis tu la duplique autant de fois que nécessaire
tu copies la partie basse dans la colonne B
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
dans la colonne C tu récupére la partie gauche de la colonne b en faisant


un
left(colonneB, len(colonneB) - 1) pour enlever la virgule
tu fais un copier coller valeur only de ta colonne qui contient la formule
Tu supprimes la colonne B
et après soit tu copie la colonne A et B et tu la met dans ton analyseur


de
requete
soit alors dans la colonne C tu fais un concat de la colonne A et B , tu
copies le résultat de la colonne C
dans ton analyseur de requete

Ca devrait le faire !!

Sincèrement
T






Avatar
thierry
jack wrote:

Merci,

je peux aussi faire un truc du genre
remplacer ")," par ") INSERT INTO DEPARTEMENT (id_region,
id_departement, departement) VALUES"
et ensuite lancer la requete mais je me demandais si il n'y avait pas
quelque chose de plus "fin" en SQL

Cordialement

"thierry" wrote in message
news:4113572a$0$24062$
jack wrote:

> Bonjour,
>
> j'ai récupéré des scripts ressemblant à celui-ci, certains avec des
> milliers d'enregistrements
>
> INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
> (22,1,'Ain'),
> (10,25,'Doubs'),
> (18,49,'Maine et Loire'),
> (22,73,'Savoie'),
> (19,2,'Aisne')
> etc,etc...
>
> Quelqu'un a-t-il une idée pour les transformer simplement en des insert
> valides pour SQLServer ?
>
> Merci

Passes par excel, non ?
Tu copies la première ligne dans la colonne A
INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
puis tu la duplique autant de fois que nécessaire
tu copies la partie basse dans la colonne B
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
dans la colonne C tu récupére la partie gauche de la colonne b en faisant


un
left(colonneB, len(colonneB) - 1) pour enlever la virgule
tu fais un copier coller valeur only de ta colonne qui contient la
formule Tu supprimes la colonne B
et après soit tu copie la colonne A et B et tu la met dans ton analyseur


de
requete
soit alors dans la colonne C tu fais un concat de la colonne A et B , tu
copies le résultat de la colonne C
dans ton analyseur de requete

Ca devrait le faire !!

Sincèrement
T









ah ok , désolé j'avais mal compris la question et mal évalué ton niveau
Qqe chose de plus fin, tu pensais à une procédure stockée ?
Tu pensais à quoi ? Car à moins de mettre la syntaxe qui va bien
je vois pas comment !!
Avatar
jack
Je ne sais pas trop justement.
Quelque chose qui aurait pu ressembler à un insert from ou avec un execute

Merci tout de même

Cordialement


"thierry" wrote in message
news:411364bd$0$29421$
jack wrote:

> Merci,
>
> je peux aussi faire un truc du genre
> remplacer ")," par ") INSERT INTO DEPARTEMENT (id_region,
> id_departement, departement) VALUES"
> et ensuite lancer la requete mais je me demandais si il n'y avait pas
> quelque chose de plus "fin" en SQL
>
> Cordialement
>
> "thierry" wrote in message
> news:4113572a$0$24062$
>> jack wrote:
>>
>> > Bonjour,
>> >
>> > j'ai récupéré des scripts ressemblant à celui-ci, certains avec des
>> > milliers d'enregistrements
>> >
>> > INSERT INTO DEPARTEMENT (id_region, id_departement, departement)


VALUES
>> > (22,1,'Ain'),
>> > (10,25,'Doubs'),
>> > (18,49,'Maine et Loire'),
>> > (22,73,'Savoie'),
>> > (19,2,'Aisne')
>> > etc,etc...
>> >
>> > Quelqu'un a-t-il une idée pour les transformer simplement en des


insert
>> > valides pour SQLServer ?
>> >
>> > Merci
>>
>> Passes par excel, non ?
>> Tu copies la première ligne dans la colonne A
>> INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
>> puis tu la duplique autant de fois que nécessaire
>> tu copies la partie basse dans la colonne B
>> (22,1,'Ain'),
>> (10,25,'Doubs'),
>> (18,49,'Maine et Loire'),
>> (22,73,'Savoie'),
>> (19,2,'Aisne')
>> dans la colonne C tu récupére la partie gauche de la colonne b en


faisant
> un
>> left(colonneB, len(colonneB) - 1) pour enlever la virgule
>> tu fais un copier coller valeur only de ta colonne qui contient la
>> formule Tu supprimes la colonne B
>> et après soit tu copie la colonne A et B et tu la met dans ton


analyseur
> de
>> requete
>> soit alors dans la colonne C tu fais un concat de la colonne A et B ,


tu
>> copies le résultat de la colonne C
>> dans ton analyseur de requete
>>
>> Ca devrait le faire !!
>>
>> Sincèrement
>> T
>>
>>
>>
>>

ah ok , désolé j'avais mal compris la question et mal évalué ton niveau
Qqe chose de plus fin, tu pensais à une procédure stockée ?
Tu pensais à quoi ? Car à moins de mettre la syntaxe qui va bien
je vois pas comment !!




Avatar
Jean-Nicolas BERGER
Avec un traitement de texte "évolué" (exemple Word), tu remplaces tous les
retour chariot suivant une virgule (chaine ,^p dans word) par ^pINSERT
(...) VALUES
Tu n'as plus ensuite qu'à corriger les effets de bord.

JN.


"jack" a écrit dans le message de
news:
Bonjour,

j'ai récupéré des scripts ressemblant à celui-ci, certains avec des


milliers
d'enregistrements

INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
etc,etc...

Quelqu'un a-t-il une idée pour les transformer simplement en des insert
valides pour SQLServer ?

Merci




Avatar
Fred BROUARD
utiliser BULK INSERT

bon courage

jack a écrit:
Bonjour,

j'ai récupéré des scripts ressemblant à celui-ci, certains avec des milliers
d'enregistrements

INSERT INTO DEPARTEMENT (id_region, id_departement, departement) VALUES
(22,1,'Ain'),
(10,25,'Doubs'),
(18,49,'Maine et Loire'),
(22,73,'Savoie'),
(19,2,'Aisne')
etc,etc...

Quelqu'un a-t-il une idée pour les transformer simplement en des insert
valides pour SQLServer ?

Merci





--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************