gpt4 book ai didi

sql-server - SQL 服务器 : run a script on all databases

转载 作者:行者123 更新时间:2023-12-05 03:05:03 26 4
gpt4 key购买 nike

我有一个 SQL 脚本,其中包含一个函数(函数在脚本末尾删除)和临时表定义和变量来处理数据,这些数据为我提供了一个数据库的单行结果。

它有效,但我需要运行并获取 1000 个数据库的所有结果。单独运行脚本似乎是不可能的。

我找到了 sp_MSForEachDB 单个命令行示例,但我有一个完整的脚本,无法以这种方式工作。

有没有办法在所有数据库上运行一个脚本?

谢谢回复

最佳答案

我并不是说这是个好主意,因为我们真的不知道您正在运行的这个脚本的作用,但这应该可行。我不羡慕您在正确位置获得所有单引号的痛苦,但这是我们使用未记录、不受支持的存储过程所付出的代价。

DECLARE @sqlText varchar(max); 

SET @sqlText = 'IF ''?'' NOT IN(''master'', ''model'', ''msdb'', ''tempdb'')
BEGIN
USE ?
EXEC(''CREATE <functions, tables, what have you>'')
END';

EXECUTE sp_MSforeachdb @sqlText;

关于sql-server - SQL 服务器 : run a script on all databases,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51397798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com