[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 19:04:26 -0300 |
Olá Pedro,
Se eu entendi o seu problema (vc não especificou o que era $DADO), a solução
é simples:
cat $DADO |
while read VALUE1 VALUE2
do
SINTAXE=`echo "INSERT INTO TABELAX VALUES ('VALUE1','VALUE2')"`
done
Obs:
1 - O while, assim como o comando if testa se a instrução seguinte foi
executada corretamente. A instrução que esta sendo testada pelo while é o
read, que só devolverá um código de erro qdo encontrar um EOF. Desta forma o
arquivo especificado por $DADO será lido da 1ª à última linha.
2 - O comando read lê campos cujos separadores default são o branco, o <TAB>
e o \012 (new-line), desta forma o conteúdo da linha até o 1º separador irá
para VALUE1, do segundo em diante para VALUE2. Para ficar + visual
experimente fazer no prompt:
prompt> read a b
xxxx yyyy tttt
prompt> echo $a
xxxx
prompt> echo $b
yyyy tttt
[ ]s,
Julio
> -----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
- RE: [shell-script] Preciso dar insert automatico no Oracle usando o shell,
Julio Cezar Neves - DISB.O <=