Запустите все .sql файлы в каталоге на Linux с SQL-сервером - PullRequest
0 голосов
/ 11 июня 2018

Я видел этот вопрос для Windows: Запустите все файлы SQL в каталоге

Мне было интересно, как это сделать для Linux.Насколько мне известно .bat тип файла для Windows.Кто-нибудь знает простой скрипт для Linux?Я редко использую linux.

У меня есть код для запуска их по одному с

sqlcmd -S localhost -U SA -p myPassword -i myFile1.sql

(в моих файлах sql есть база данных для использования).Просто не знаете, как заставить его работать на всех, поскольку их много.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Очень упрощенный файл сценария sh может содержать:

#!/bin/sh

#
# loop over the result of 'ls -1 *.sql'
#     'ls -1' sorts the file names based on the current locale 
#     and presents them in a single column
for i in `/bin/ls -1 *.sql`; do 
    sqlcmd -S localhost -U SA -p myPassword -i $i
done

Если существует определенный порядок для файлов sql, то вам нужно будет назвать их так, чтобы они сортировались в правильныезаказ.

0 голосов
/ 11 июня 2018

find на помощь:

find ./directory -maxdepth 1 -name *.sql -exec sqlcmd -S localhost -U SA -p myPassword -i {} \;
...