一次性批量执行多个MSSQL脚本(mssql执行多个脚本)
在使用MSSQL的过程中,我们通常需要执行多个脚本来实现某些功能,但如果每次只能执行单个脚本会非常耗时间。幸运的是,SQL Server提供了一种更加方便快捷的方式来一次性批量执行多个MSSQL脚本。本文将通过以下步骤详细介绍如何实现这一目标:
1、 首先,需要将需要批量执行的所有脚本文件复制到固定的一个文件夹中;
2、然后,我们可以使用以下代码来批量执行多个脚本:
DECLARE @ScriptName NVARCHAR(4000);
DECLARE @ScriptsDirectory NVARCHAR(4000);
SET @ScriptsDirectory = ‘C:\Scripts\’ — 这是刚刚复制的文件夹路径
— 获取脚本文件列表
DECLARE @files TABLE (Files INDEX IDX_files PRIMARY KEY CLUSTERED
(
Files
)
,
Files varchar(255)
);
INSERT INTO @files (Files)
EXECUTE xp_cmdshell ‘dir /b ‘ + @ScriptsDirectory + ‘*.sql’;
SELECT * FROM @files;
— 执行脚本
DECLARE @ObjectName NVARCHAR(4000);
DECLARE C CURSOR FOR
SELECT Files
FROM @files
OPEN C
FETCH NEXT FROM C INTO @ScriptName;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @ObjectName = @ScriptsDirectory + @ScriptName;
EXECUTE sp_executesql
@ObjectName;
FETCH NEXT FROM C INTO @ScriptName;
END
CLOSE C;
DEALLOCATE C;
当然,我们也可以使用SQL语句将多条SQL语句编组到一起,然后进行批量执行,具体实现步骤如下:
1、 将待执行的多个SQL语句按顺序编组到同一个文本文件中;
2、 将该文本文件复制至指定的文件路径;
3、 执行如下SQL语句,完成批量执行:
DECLARE @ObjectName NVARCHAR(4000);
SET @ObjectName = ‘C:\Scripts\your_script.sql’ — 这是刚刚复制的文本文件路径
EXECUTE sp_executesql
@ObjectName;
以上就是如何一次性批量执行多个MSSQL脚本的具体实现步骤,由于选择容易,操作速度又快,因此建议使用这种方法来节省时间。