[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] Preciso dar insert automatico no Oracle usando o she
From: |
Julio Cezar Neves - DISB.O |
Subject: |
RE: [shell-script] Preciso dar insert automatico no Oracle usando o shell |
Date: |
Tue, 18 Dec 2001 20:04:25 -0300 |
Olá Pedro,
fiz um copiar-colar em uma linha do seu script e não vi uma falha. O script
correto e otimizado seria:
#!/bin/bash
cat /root/MERCADORIA.txt|
while read VALUE1 VALUE2
do
echo "INSERT INTO TABELAX VALUES ($VALUE1,$VALUE2)" >> teste.sql
done
[ ]s,
Julio
Obs: Não era para aparecer o ^M. Verifique o que está errado. (Me parece
conversão do DOS)
> -----Original Message-----
> From: Pedro Henrique Ponchio [mailto:address@hidden]
> Sent: Tuesday, December 18, 2001 7:33 PM
> To: address@hidden
> Subject: RES: [shell-script] Preciso dar insert automatico no Oracle
> usando o shell
>
>
> Conforme sua sugestão, estou usando agora:
>
> #!/bin/bash
> DADO=/root/MERCADORIA.txt
> cat $DADO |
> while read VALUE1 VALUE2
> do
> SINTAXE=`echo "INSERT INTO TABELAX VALUES
> ('$VALUE1','$VALUE2')"`
> echo $SINTAXE >> teste.sql
> done
>
> O resultado do teste.sql:
>
> INSERT INTO TABELAX VALUES ('99900000','MODULOS/DIVERSOS,CARGA
> MILITAR/OBJECTOS DE USO PESSOAL^M')
> INSERT INTO TABELAX VALUES ('1010000','GADO CAVALAR^M')
> INSERT INTO TABELAX VALUES ('1020000','GADO BOVINO^M')
> INSERT INTO TABELAX VALUES ('1030000','GADO SUINO^M')
> INSERT INTO TABELAX VALUES ('1050000','AVES VIVAS^M')
> INSERT INTO TABELAX VALUES ('2010000','CARNE BOVINO FRESCA REFRIG.^M')
> INSERT INTO TABELAX VALUES ('2020000','CARNE BOVINO CONGEL^M')
>
> Perfeito, o único pobrema é o final, com o pentelho ^M no final ...
> Dá pra tirar ele, fácil de lá?
>
> Muito obrigado!!
>
> > -----Original Message-----
> > From: Pedro Henrique Ponchio [mailto:address@hidden]
> > Sent: Tuesday, December 18, 2001 6:36 PM
> > To: address@hidden
> > Subject: [shell-script] Preciso dar insert automatico no
> > Oracle usando o
> > shell
> >
> >
> > Estou apanhando pra conseguir colocar num arquivo .sql a sintaxe a
> > seguir:
> >
> > INSERT INTO TABELAX VALUES ("VALUE1","VALUE2")
> >
> > Tem muitos arquivos, todos .txt, com a seguinte forma:
> >
> > 55150000 TEXTEIS
> > 56070000 CABOS SISAL/JUTA/FIB SINTET (CORDAS)
> > 56070000 FIO DE PESCA
> > 56080000 REDES PESCA
> > 57050000 TAPETES TAPECARIAS CARPETES NE
> > 58060000 FITAS ALGODAO/SINTETICAS
> > 59030000 TECIDOS IMPREGNADOS,REVESTIDOS C/PLASTICO
> > 59070000 TELAS
> >
> > Preciso colocar a primeira coluna (VALUE1) e a segunda
> (VALUE2) dentro
> > de tabelas.
> > Estou tentando isso usando:
> >
> > #---------------------------------
> > LINHAS=`cat $DADO | wc -l | awk '{print $1}'`
> > X=0
> > until [ "$X" -eq "$LINHAS" ]
> > do
> > X=`expr $X + 1`
> > VALUE1=`sed -n ${X}p $DADO | awk '{print $1}'`
> > VALUE2=`sed -n {X}p $DADO | ???? `
> > #aqui monta a sintaxe e joga em algum arquivo
> > SINTAXE=`echo "INSERT INTO TABELAX VALUES ('VALUE1','VALUE2')"`
> > ???
> > done
> > #---------------------------------
> >
> > Não sei como capturar na variável o VALUE2, que pode ter até 255
> > caracteres de limite e vários espaços no meio ...
> > Se alguém puder me dar alguma direção sobre como fazer ...
> não conheço
> > sed ou awk o suficiente pra ir além ...
> >
> > Muito obrigado,
> > Pedro Henrique
> >
> > Sair da lista: address@hidden
> > Banco Dados: http://www.egroups.com/group/shell-script
> >
> > Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
>
> Yahoo! Groups Sponsor
>
>
>
> Sair da lista: address@hidden
> Banco Dados: http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.
>
> Sair da lista: address@hidden
> Banco Dados: http://www.egroups.com/group/shell-script
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html