批量执行sql文件

时间:2015-05-05 12:48:12

标签: sql-server batch-file sqlcmd

要求是读取包含要执行的.sql文件的文本文件的内容,例如文件内容将如下所示

test.sql
test2.sql

我使用

执行单个sql文件
sqlcmd -S testserver -U xxx -P %Pwd% -d yyy -I -i "UDDs"\UDDs.sql >> _Deploy.txt 

任何想法如何循环文本文件中的每一行并执行它

2 个答案:

答案 0 :(得分:0)

for /f "usebackq delims=" %%a in ("fileList.txt") do (
    sqlcmd -S testserver -U xxx -P %Pwd% -d yyy -I -i "%%~fa" >> _Deploy.txt 
)

使用FOR /F逐行读取文件。

答案 1 :(得分:0)

是否必须批量生产?批处理正在死亡。很快。

$filelist = get-content -path "filelist.txt";
foreach ($file in $filelist) {
    invoke-sqlcmd -serverinstance testserver -database zzz -username xxx -password yyy -inputfile $file| export-csv -notypeinformation -path $($file.replace("sql","csv"))
}

这是一个PowerShell脚本,它将循环遍历文件列表中指定的所有文件,并输出包含数据的CSV文件(具有相同的" base"名称)。

相关问题