[nir@dba etl]$ cat login.sql
col TAB# new_value TAB NOPRINT
select chr(9) TAB# from dual;
set markup csv on delimiter "&TAB" quote off
set heading off termout off echo off feedback off verify off numformat 99999999999.9999999999999 null '\N'
[nir@dba etl]$ cat a.sh
#!/bin/bash
export ORACLE_PATH="/home/nir/etl"
echo "select * from dms_u.test_etl_source;" | sqlplus -s ${USER}/${PASS}@${TNS}
[nir@dba etl]$ ./a.sh
aa \N aa
\N aa aa
aa aa \N
\N \N aa
\N aa \N
aa \N \N
\N \N \N
aa aa aa
Estou usando o login.sql
para fazer a sqlplus
saída como tsv. O que eu quero é rodar login.sql
sem nenhuma saída. Se eu colocasse glogin.sql
no -s
funcionaria. Mas preciso que o login do tsv aconteça apenas em casos específicos (por isso o ORACLE_PATH
).
Então gostaria a.sh
de retornar:
[nir@dba etl]$ ./a.sh
aa \N aa
\N aa aa
aa aa \N
\N \N aa
\N aa \N
aa \N \N
\N \N \N
aa aa aa
Mudar
login.sql
de:para: