如何从另一个存储过程中执行SQL存储过程?

时间:2009-03-27 17:19:25

标签: sql-server tsql stored-procedures

每次我用备份文件刷新我的数据库。我必须分别运行大约10个存储过程因为备份文件不包含它们。

有没有办法让一个单独的sql脚本能够引用所有这10个存储过程并只运行那个ONE文件而不是TEN?

3 个答案:

答案 0 :(得分:9)

这不会检查是否有任何错误..

CREATE PROCEDURE RUN_ALL
AS 

SET NOCOUNT ON

EXEC YourProcedureA

EXEC YourProcedureB

EXEC YourProcedureC

RETURN 0
GO

答案 1 :(得分:1)

如果您在询问是否可以编写引用本地文件系统中文件的SQL脚本,那么不。但是,您可以创建一个脚本文件,将创建脚本组合成单独的批处理,或使用外部批处理工具(如SQL命令行)批量运行这些脚本文件。

答案 2 :(得分:1)

我所做的是创建一个批处理文件,该文件使用isql命令行调用执行特定文件夹中的所有SQL脚本。批处理文件简单循环遍历文件夹中的所有文件并执行脚本。此过程的优点还在于能够生成脚本结果的输出文件以供参考。