Jak sformatować wniosek płaskiego pliku skryptu powłoki systemu unix, który jest tworzony z pliku .sql, skrypty powłoki systemu unix

0

Pytanie

Mam skrypt powłoki systemu unix, który pobiera dane z bazy danych za pomocą pliku .sql . W tym SQL muszę sformatować wniosek pliku za pomocą polecenia SET. Potrzebuję wniosek w taki sposób, aby wniosek był wyświetlany nagłówka kolumny bez żadnych odstępów lub wierszy w nagłówku.

Oczekiwany wynik:

Header1,header 2
Mark,California
Steve,India

Wniosek, który ja widzę:(dodatkowa linia przed nagłówkiem i linie przerywane po nagłówku)

Header1, header 2
-----------------
Mark,California
Steve, India

Skrypt powłoki:

ABC.sh
a=`sqlplus -silent $Database name @Ggg.sql`
mv xyz.csv xyz_$1.csv
dos2unix xyz_*.csv 2>  /dev/null
 (cat body.txt; uuencode xyz_$1.csv xyz_$1.csv) | mailx -s "subject" 
 [email protected]
(SQL file Gggg.sql is called and email is sent)

Ggg.sql 
`Set pagesize 5000`
`Set linesize 700`
`Set trimspool off`
`Set heading on`
`Set feedback off`
`Set term off`
`Set verify off``
Spool jjj.csv;
`Select * from table1 where column = '5'`;
`SPOOL OFF`;
EXIT`;
bash header shell sql
2021-11-23 14:54:54
2
0

Zakładając, że twój wniosek zawiera 5 wierszy:


Header1, header 2
-----------------
Mark,California
Steve, India

możesz usunąć niepotrzebne wiersze po ich tworzenia za pomocą sed (lub znajdź sposób, aby to zrobić w sql, co może być trudniejsze)

ABC.sh | sed '1d;3d'

wyjście:

Header1, header 2
Mark,California
Steve, India
2021-11-23 17:34:14

Być może, łatwiej będzie to zrobić po tym, jak zostanie wygenerowany wniosek, ale mi potrzebny jest sposób, aby to zrobić w. Plik SQL tylko w postaci wygenerowanego przez płaskiego pliku .csv musi być w odpowiednim formacie.
Milagrin
0

Z tego co zrozumiałem z twojego pytania, chcesz po prostu SQL-skrypt doprowadziły do swoich nazw kolumn, które raz szły wyniki w tabeli, więc można po prostu wybrać nazwy kolumn i UNION w tabeli wyników, jak to:

SELECT 'Header1', 'header 2'
UNION
SELECT Header1, Header2 FROM TableName

Przypomnienie o tym, że UNION"wybrane elementy muszą zawierać taką samą liczbę kolumn.

W przypadku, jeśli twój schemat tabeli trudniejsze, niż coś takiego, konieczna poprawnie ją szczegółowo, aby wniosek pracował prawidłowo.

2021-12-02 21:22:38

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................