Sql server SQL Server TSQL宏

Sql server SQL Server TSQL宏,sql-server,tsql,macros,sql-server-2012,Sql Server,Tsql,Macros,Sql Server 2012,通过SQL Server 2012,我对多个数据库重复执行一个过程。我正在根据每个相应数据库中已有的表和视图为每个数据库创建一个新视图。新视图处于相同的结构中,并且应该全部放在一个新的数据库中 背景信息:每个数据库共享相同的结构、相同的表、相同的视图以及对应表/视图的相同变量名,但数据库和表的名称不同。当然,所有变量的值都是不同的 例如: Database1: View11: ID(int), Age(int), Salary(float) Database2: View21: ID(int)

通过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位于数据库3中

我知道复制和粘贴多个数据库很简单。但实际数据库数量超过2个,查询更为复杂。因此,复制和粘贴可能更容易导致不小心的错误

有人能分享一些智慧,用一种更准确、更标准的方式,而不是我笨拙的复制粘贴方式吗?我愿意接受任何解决这个问题的策略。以下是我从其他语言中借用的一些想法,在SQL Server中可能不起作用

  • 宏变量作为一个在Excel中使用的变量
  • 在Javascript/Python/Ruby等中使用的存储函数
  • 一个循环
  • 其他的。 提前感谢您的帮助
    这听起来很像一个。。。你为什么不告诉我们你为什么想要实现这样一个场景?Hi@mr.Reband,谢谢你提供的信息。看起来不错。我正在慢慢消化它。。。对我来说似乎有很多新信息。。。Hi@gvee,谢谢提醒。可能是。正如我所说的,我正在寻找一种解决方案,以更有效地多次重复该过程,而不是复制和粘贴相同的代码,并逐一调整它们。如果不是一种“宏观”的方法来处理这个问题,我愿意采用其他策略。