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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Preciso dar insert automatico no Oracle usando o she


From: Pedro Henrique Ponchio
Subject: RES: [shell-script] Preciso dar insert automatico no Oracle usando o shell
Date: Tue, 18 Dec 2001 19:32:39 -0300

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!. 


reply via email to

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