我们为每个客户创建数据库,以便他们的数据被隔离。对于共享的表(例如产品名称),我们将同义词用于公共数据库。对于常见的存储过程,我们在master数据库中创建它们并将它们标记为系统过程,以便它们在客户数据库上下文中运行。但对于观点,我们陷入困境。设置为同义词的视图将不会在本地数据库中运行,我们无法找到与视图的系统过程相当的任何内容。
那么,我们如何创建一个公共视图,在运行时,将在本地客户数据库的上下文中运行?
答案 0 :(得分:0)
这是我要做的。创建一个脚本(或可选的proc),它使用动态SQL在列表中的每个数据库中创建视图,该列表可以在运行时提供,也可以保存在表中。
然后,当您想要为每个客户更改视图时,只需更改脚本并运行它。