首页 > 解决方案 > 使用脚本将过程副本保存在同一数据库中

问题描述

我正在尝试在开发数据库中工作,而不会踩到在同一个数据库中工作的其他人的脚趾,有时是在相同的表、函数和过程上。我们知道受影响的代码是什么。

对于表格很简单:我有我的 12 版本和他们的 17 版本。在工作之前,我将保存他们的 17 条数据,并复制我的 12 条数据,全部在一个小脚本中:

drop table [MTDetails].[dbo].[Taps17];
select * into [MTDetails].[dbo].[Taps17] from [MTDetails].[dbo].[Taps];
truncate table [MTDetails].[dbo].[Taps];
insert into [MTDetails].[dbo].[Taps] select * from [MTDetails].[dbo].[Taps12];

当我完成一天的工作时,我将他们的数据复制回来:

drop table [MTDetails].[dbo].[Taps12];
select * into [MTDetails].[dbo].[Taps12] from [MTDetails].[dbo].[Taps];
truncate table [MTDetails].[dbo].[Taps];
insert into [MTDetails].[dbo].[Taps] select * from [MTDetails].[dbo].[Taps17];

我想对过程和功能做类似的事情。而且......我不确定如何自动复制这样的程序,如果可能的话。

我使用 Modify 复制了我的程序,然后手动将 12 添加到名称并创建它。但是有 11 个函数和过程——比我每次在数据库中工作时都想手动处理的要多。这可以在脚本中完成吗?

标签: sql-serverdatabasesql-server-2016

解决方案


推荐阅读