Чтение многострочного SQL в UNIX

В настоящее время я читаю несколько запросов из приведенного ниже файла .sql

--SOURCE TABLE NAME  
--SOURCE QUERY  
SEL COL1, COL2, COL3, COL4,   
COL5, COL6, COL7 WHERE COL5 = '2015-11-04 16:24:00.000000' FROM SOURCE TABLE;

--TARGET TABLE NAME  
--TARGET QUERY  
SEL COLUMN1, COLUMN2, COLUMN3, COLUMN4,   
COLUMN5, COLUMN6, COLUMN7 FROM TARGET TABLE;  
0,1

Код, используемый для чтения содержимого файла .sql, показано ниже:

validate() {  
queryNum=0  
while true  
do  
    ((queryNum++))  
    read tableName  
    read comment  
    read sourceQuery   
    read blankLine  
    read tableName  
    read comment  
    read targetQuery   
    read primaryKeyCols || break  
    read blankLine  
    exQuery "$sourceQuery" sourceResults.txt   
    exQuery "$targetQuery" targetResults.txt           
done < $1  
}  

Единственным недостатком этого подхода является то, что я не могу прочитать запрос SQL, если он написан в несколько строк. Он должен быть в одной строке, чтобы он работал.

Я хочу быть более гибким при чтении запросов. Есть ли способ прочитать многострочный SQL в Unix. Пожалуйста, помогите мне.

0
28.09.2016, 21:12
0 ответов

Теги

Похожие вопросы