Antes de explicar o conceito/funcionamento, vamos criar os arquivos
secundários.
Vamos primeiro criar o arquivo sql01, cujo conteúdo é um
comando SQL para localizar o maior código cadastrado:
SELECT "*" || MAX(CODIGO) FROM TAB_CLI_001;
EXIT;
O próximo arquivo a ser criado é o execsql01, que
simplesmente executa a linha SQL do arquivo sql01:
isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey -i sql01 | grep '*' | cut -c2-
A aplicação em shell script
Crie um arquivo chamado cadcli com o seguinte conteúdo e
sem a numeração de linhas (ressalto que todos estes arquivos se
encontram no link mencionado no início do tutorial):
1:mCODI=`./execsql01`
2:mCODI=`expr $mCODI + 1`
3:
4:while [ $mCODI -gt 0 ]
5:do
6: clear
7:
8: tput sgr0
9: tput cup 23 0 ; echo "MSG:....................................."
10: tput cup 17 1 ; echo "------------------- Informacoes do ultimo cadastro efetuado. ------------------"
11: tput cup 19 1 ; echo "CODIGO..: $mCODI"
12: tput cup 21 1 ; echo "NOME....: $mNOME"
13:
14: mRESP="S"
15: mNOME="........................................"
16: mENDE="........................................"
17: mBAIR="........................."
18: mTELE="........................................"
19: mFON1="..............."
20: mFON2="..............."
21: mFAXS="..............."
22:
23: tput cup 0 0 ;echo "NETI TECNOLOGIA - Cadastro de Cliente - `date`"
24: tput cup 1 0 ; echo "=============================================="
25: tput cup 3 1 ; echo "CODIGO..: Sugerido:($mCODI)"
26: tput cup 5 1 ; echo "NOME....: $mNOME"
27: tput cup 7 1 ; echo "ENDERECO: $mENDE"
28: tput cup 9 1 ; echo "BAIRRO..: $mBAIR"
29: tput cup 11 1 ; echo "TELEFONE: $mTELE"
30: tput cup 12 9 ; echo ": $mFON1"
31: tput cup 13 9 ; echo ": $mFON2"
32: tput cup 15 1 ; echo "FAX.....: $mFAXS"
33:
34: tput bold
35: tput cup 3 11 ; read mCODI
36: if [ $mCODI = "FIM" ]
37: then
38: exit
39: fi
40: tput cup 5 11 ; read mNOME
41: tput cup 7 11 ; read mENDE
42: tput cup 9 11 ; read mBAIR
43: tput cup 11 11 ; read mTELE
44: tput cup 12 11 ; read mFON1
45: tput cup 13 11 ; read mFON2
46: tput cup 15 11 ; read mFAXS
47:
48: tput cup 23 4 ; echo -e "CONFIRMA A OPERACAO? \c"
49: read mRESP
50:
51: tput sgr0
52: if [ $mRESP = S ]
53: then
54: echo "INSERT INTO TAB_CLI_001 VALUES ($mCODI,'$mNOME','$mFON1','$mFON2','$mFAXS','$mTELE','$mBAIR','$mENDE');" | isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey > /dev/null
55: mCODI=`expr $mCODI + 1`
56: fi
57:done
Salve este arquivo com o nome cadcli e dê permissões de
execução para o mesmo:
# chmod 770 cadcli
Agora para executá-lo basta digitar:
# ./cadcli