shell-script-pt
[Top][All Lists]
Advanced

[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 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]