我有一个很长的SQL脚本,我想在一台服务器上为每个数据库运行。最好的方法是什么?
我在研究中发现了这一点:
EXEC sp_msforeachdb "
IF '?' IN ('lib1','lib2','lib3')
BEGIN
use ?;
exec 'my_sp_long_sql_script'
END
"
我尝试了但是它需要我在每个库中创建sp,这样会破坏循环的目的。或者如何为每个库自动创建sp?
我想要做的就是为每个数据库运行我的long_sql_script。
答案 0 :(得分:1)
使用存储过程的完全限定名称而不是其相对名称,从定义它的位置检索它。这就是SQL Server本身的工作方式。