如何使用 SQL Server Management Studio 中的链接服务器使用 INSERT INTO 子句创建 table
How to create a table using the INSERT INTO clause using linked servers in SQL Server Management Studio
我有一个名为 GreatPlains
的服务器,我想在本地服务器的报告数据库中使用 INSERT INTO
子句创建一个新的 table(尚未定义)。我们为 GreatPlains
服务器和我们的主要生产服务器设置了链接服务器。
当前查询的简化版本:
SELECT *
INTO [local].[Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders]
我也遇到了错误:
The object name 'local.Reporting.dbo.NewTable' contains more than the
maximum number of prefixes. The maximum is 2.
我想你有一个额外的 insert
:
SELECT *
INTO [local].[Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders];
如果 table 已经定义并且具有相同顺序的相同列,那么您可以这样做:
INSERT INTO [local].[Reporting].[dbo].[NewTable]
SELECT *
FROM [linked].[Main].[dbo].[Orders];
您的查询有两个错误
1.INTO
子句最多支持 2 个前缀。您不能包含 SERVER NAME
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
2.Unwanted INSERT
关键字
所以你的查询应该是
SELECT *
INTO [Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders];
如果您是运行本地服务器中的脚本并且table已经存在于数据库中,请使用以下脚本。
USE [Reporting]
GO
INSERT INTO [dbo].[NewTable]
SELECT *
FROM [linked].[Main].[dbo].[Orders]
如果您的数据库中没有 table,请使用以下脚本。
USE [Reporting]
GO
SELECT *
INTO dbo.[NewTable]
FROM [linked].[Main].[dbo].[Orders]
我有一个名为 GreatPlains
的服务器,我想在本地服务器的报告数据库中使用 INSERT INTO
子句创建一个新的 table(尚未定义)。我们为 GreatPlains
服务器和我们的主要生产服务器设置了链接服务器。
当前查询的简化版本:
SELECT *
INTO [local].[Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders]
我也遇到了错误:
The object name 'local.Reporting.dbo.NewTable' contains more than the maximum number of prefixes. The maximum is 2.
我想你有一个额外的 insert
:
SELECT *
INTO [local].[Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders];
如果 table 已经定义并且具有相同顺序的相同列,那么您可以这样做:
INSERT INTO [local].[Reporting].[dbo].[NewTable]
SELECT *
FROM [linked].[Main].[dbo].[Orders];
您的查询有两个错误
1.INTO
子句最多支持 2 个前缀。您不能包含 SERVER NAME
DATABASE_NAME.SCHEMA_NAME.TABLE_NAME
2.Unwanted INSERT
关键字
所以你的查询应该是
SELECT *
INTO [Reporting].[dbo].[NewTable]
FROM [linked].[Main].[dbo].[Orders];
如果您是运行本地服务器中的脚本并且table已经存在于数据库中,请使用以下脚本。
USE [Reporting]
GO
INSERT INTO [dbo].[NewTable]
SELECT *
FROM [linked].[Main].[dbo].[Orders]
如果您的数据库中没有 table,请使用以下脚本。
USE [Reporting]
GO
SELECT *
INTO dbo.[NewTable]
FROM [linked].[Main].[dbo].[Orders]