Sql server 是否可以创建引用.sql文件的存储过程?

Sql server 是否可以创建引用.sql文件的存储过程?,sql-server,stored-procedures,Sql Server,Stored Procedures,我有5个独立的脚本,每一个都有几百行,它们创建了5个不同的表。我想创建一个运行所有这些脚本的存储过程。我熟悉的制作存储过程的方式是: CREATE PROCEDURE procedure_name AS sql_statement1 GO sql_statement2 GO sql_statement3 GO sql_statement4 GO sql_statement5 GO; 这种方法的问题是我经常更新这些查询,如果我可以创建一个指向sql文件的存储过程,而不是每次更新时都必须更新存储过

我有5个独立的脚本,每一个都有几百行,它们创建了5个不同的表。我想创建一个运行所有这些脚本的存储过程。我熟悉的制作存储过程的方式是:

CREATE PROCEDURE procedure_name
AS
sql_statement1
GO
sql_statement2
GO
sql_statement3
GO
sql_statement4
GO
sql_statement5
GO;
这种方法的问题是我经常更新这些查询,如果我可以创建一个指向sql文件的存储过程,而不是每次更新时都必须更新存储过程,那么看起来会更容易。特别是当我必须筛选1000行代码来更新五个脚本中的一个时


我想知道是否有一种方法可以更容易地更新存储过程或使过程指向最终的sql文件。我在网上找不到这方面的内容

不,存储过程不能使用文件中包含的SQL。此外,存储过程不能像示例中那样包含批处理分隔符。请创建五个过程,并将文件的逻辑逐一放入其中。然后进行第六个过程调用其他五个过程。您可能会发现使用SQL视图或带有嵌入式SQL语句的存储过程是更合适的方法。您现在应该已经注意到,tsql没有访问数据库引擎之外资源的功能。它根本不是设计用来做这件事的。有人可能会问,为什么您认为这适合tsql(和存储过程)——但这是一个更大的讨论。使用您选择的工具编写批处理脚本可以很容易地做到这一点,这似乎是一种更好的方法。也许?