Script d'insertion
Résolu
Bebendiaye
-
Bebendiaye -
Bebendiaye -
Bonjour,
Merci de m'aider,
j'ai deux fichiers fich.sql et fich.txt
Dans fich.sql
select * from tb where mat in ()
dans fich.txt
|07864670434|HG|
|35687905435|EDHG|
|98767431212|OUKHGKKJ|
Pouvez vous m'aider a avoir un script shell qui va inserer ds la requete les valeurs du fich.txt
cad:
select * from tb where mat in ('07864670434','35687905435','98767431212')
Pour cet exemple fich.txt a trois enregistrements il peux en avoir 500 enregistrements.
Merci de m'aider,
j'ai deux fichiers fich.sql et fich.txt
Dans fich.sql
select * from tb where mat in ()
dans fich.txt
|07864670434|HG|
|35687905435|EDHG|
|98767431212|OUKHGKKJ|
Pouvez vous m'aider a avoir un script shell qui va inserer ds la requete les valeurs du fich.txt
cad:
select * from tb where mat in ('07864670434','35687905435','98767431212')
Pour cet exemple fich.txt a trois enregistrements il peux en avoir 500 enregistrements.
A voir également:
- Script d'insertion
- Script vidéo youtube - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
3 réponses
Ça doit se faire avec un LOAD DATA bien réglé :
https://dev.mysql.com/doc/refman/8.0/en/load-data.html
Bonne chacne
https://dev.mysql.com/doc/refman/8.0/en/load-data.html
Bonne chacne
je ne vois pas comment!!
je dois recevoir regulierement fich.txt pour generer le fichier fich.sql avec le meme contenu seul les valeurs entre parenthese varie.
cad :('07864670434','35687905435','98767431212')
je dois recevoir regulierement fich.txt pour generer le fichier fich.sql avec le meme contenu seul les valeurs entre parenthese varie.
cad :('07864670434','35687905435','98767431212')
Salut,
A adapter à tes besoins...
;-))
A adapter à tes besoins...
[tmpfs]$ cat fich
|07864670434|HG|
|35687905435|EDHG|
|98767431212|OUKHGKKJ|
[tmpfs]$ cat foo.sh
#! /bin/sh
#set -xv
RECUP=$(egrep -o '[[:digit:]]+' fich)
DATA=$(echo $RECUP | sed "s/^\|$/'/g;s/ /','/g")
echo "select * from tb where mat in (${DATA})"
[tmpfs]$ ./foo.sh
select * from tb where mat in ('07864670434','35687905435','98767431212')
[tmpfs]$
;-))
j'ai des pb sur l'opion -o
D:\APBATCH\AP BATCH\SCRIPT_PROD\prod24\phase2>sh foo.sh
egrep: Unknown option -o
Usage: egrep [-clqinsvx] [-bI] [-e pattern] [-f patternfile] [pattern] [file ...]
select * from tb where mat in ()
D:\APBATCH\AP BATCH\SCRIPT_PROD\prod24\phase2>PAUSE
Appuyez sur une touche pour continuer...
D:\APBATCH\AP BATCH\SCRIPT_PROD\prod24\phase2>sh foo.sh
egrep: Unknown option -o
Usage: egrep [-clqinsvx] [-bI] [-e pattern] [-f patternfile] [pattern] [file ...]
select * from tb where mat in ()
D:\APBATCH\AP BATCH\SCRIPT_PROD\prod24\phase2>PAUSE
Appuyez sur une touche pour continuer...
[tmpfs]$ cat fich
|07864670434|6535|MLDHLH|
|35687905435|093073HG|07309|
|98767431212|OUKHGKKJ|875385|
[tmpfs]$ cat foo.sh
#! /bin/sh
#set -xv
RECUP=$(awk -F"|" '{ print $2 }' fich)
DATA=$(echo $RECUP | sed "s/^\|$/'/g;s/ /','/g")
echo "select * from tb where mat in (${DATA})"
[tmpfs]$ ./foo.sh
select * from tb where mat in ('07864670434','35687905435','98767431212')
[tmpfs]$
;-))