将存储过程返回的行插入到不同的表中 - 不同的数据库和服务器

时间:2016-12-20 16:42:37

标签: sql sql-server visual-studio stored-procedures data-migration

我在数据库Test中有一个本地表,如:

CREATE TABLE [SavedData]
(
    [RowID] INT NOT NULL , 
    [Category] INT NOT NULL , 
    [X] DATETIME NOT NULL, 
    [Y] DATETIME NOT NULL,
    PRIMARY KEY ([RowID])
)

我在远程数据库LiveData中有一个程序在GetData(INT category)之类的其他服务器上,它返回多行RowID, X, Y

我的表用于捕获本地测试的数据,所以我想知道我是否可以一步完成这一步而不是通过笨重的CSV文件或其他东西?例如使用某些跨数据库查询/脚本将Category EXEC GetData(Category)的结果插入SavedData

如果可能的话,我正在使用Visual Studio 2013进行数据库查询。我正在手动执行此迁移以填充本地测试数据,而不是从我的应用程序中的代码填充。

具体来说,我在VS中有两个数据库连接:

enter image description here

DB'Test'在我的localdb中,DB'LiveData'是SQL2014。

1 个答案:

答案 0 :(得分:2)

是的,因为您已经拥有一个与您的程序结果相匹配的表格,您可以非常轻松地完成此任务。

insert SavedData
(
    Category
    , X
    , Y
)
exec MyRemoteServer.DatabaseName.SchemaName.ProcedureName