gpt4 book ai didi

mysql - 更新多个数据库的存储过程

转载 作者:行者123 更新时间:2023-11-29 12:49:00 25 4
gpt4 key购买 nike

我有 80 个不同的数据库需要维护,所有数据库都有相同的表和存储过程,但存储的信息不同,它的工作方式是我们为每个客户端创建一个单独的数据库,每个客户端将在-在某些选定的表中至少有 2000 - 3000 行数据可供使用。

我的第一个问题是 - 现在我必须更改所有 80 个数据库的存储过程。通常情况下,我必须访问每个数据库并更新存储过程,这是一项艰巨的任务,但是是否有某种技术可以让我更新一个数据库的单个存储过程,而其他 80 个数据库的所有存储过程都会自动更新.

我的第二个问题是 - 使用多个数据库还是创建单个数据库并使用客户 ID 来识别客户是否理想。

任何想法都会非常有帮助,

谢谢你,普拉山斯·库马尔 B

最佳答案

如果您有 Excel 中的服务器和数据库列表,您可以:

1) 将存储过程编写到文件中(例如 C:\myproc.sql)

2) 使用 Excel 为每个服务器/数据库组合创建单独的 osql 命令,如下所示:

ServerName  DatabaseName   SQLCommand
========== ============ ==========
SERVER1 DATABASE1 ="osql -E -i ""C:\myproc.sql"" -S " & A2 & " -d " & B2
SERVER1 DATABASE2 ="osql -E -i ""C:\myproc.sql"" -S " & A3 & " -d " & B3
SERVER2 DATABASE1 ="osql -E -i ""C:\myproc.sql"" -S " & A4 & " -d " & B4
SERVER2 DATABASE2 ="osql -E -i ""C:\myproc.sql"" -S " & A5 & " -d " & B5

3) 将生成的 SQL 命令复制到批处理文件/Powershell 脚本中

4) 在命令提示符处运行批处理文件/Powershell 脚本。

关于你的第二个问题,我想说,拥有 1 个数据库和该数据库中的所有客户端肯定会更好(只要你的客户对这种安排感到满意),因为你的问题只会变得更糟当你有更多的客户时,情况会更糟。此外,您还将承担备份所有不同数据库的开销,而如果您只有一个数据库,则只需执行一次即可。

关于mysql - 更新多个数据库的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25035855/

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