0

通过 SQL Server 2012,我正在为多个数据库重复执行一个过程。我正在根据每个相应数据库中已有的表和视图为每个数据库创建一个新视图。新视图的结构相同,都应该放在一个新的数据库中。

背景信息:每个数据库共享相同的结构、相同的表、相同的视图和对应的表/视图的相同变量名,只是数据库和表的名称不同。当然,所有变量的值都是不同的。

例如:

Database1:
View11:
ID(int), Age(int), Salary(float)

Database2:
View21:
ID(int), Age(int), Salary(float)

New View:
ID(int), Salary*0.1 as Revenue

我天真的代码:

USE Database3
GO
CREATE VIEW dbo.NewView11
AS
SELECT ID, Salary*0.1 AS Revenue
FROM Database1.dbo.View11

CREATE VIEW dbo.NewView21
AS
SELECT ID, Salary*0.1 AS Revenue
FROM Database2.dbo.View21

NewView11、NewView21 在 Database3 中。

我知道复制和粘贴多个数据库会很简单。但是实际的数据库数量多于2个,查询比较复杂。所以复制和粘贴可能更容易导致更粗心的错误。

有人可以分享一些智慧以更准确和标准的方式来做,而不是我笨拙的复制和粘贴方式吗?我对解决这个问题的任何策略持开放态度。这是我从其他语言中借鉴的一些想法,它可能不适用于 SQL Server。

  1. 宏变量作为一个在 Excel 中使用。
  2. 在 Javascript/Python/Ruby 等中使用的一种存储功能。
  3. 一个循环。
  4. 其他。在此先感谢您的帮助!
4

0 回答 0