我Locale_Code在两个不同的数据库中有表,CP并且PP
Locale_Code
CP
PP
这是我表的插入脚本
CREATE TABLE [dbo].[LOCALE_CODE]( [id] [bigint] IDENTITY(1,1) NOT NULL, [active] [bit] NOT NULL, [code] [nvarchar](4000) NULL, [created_at] [datetime] NULL, [created_by] [nvarchar](4000) NULL, [display_name] [nvarchar](4000) NULL, [updated_at] [datetime] NULL, [updated_by] [nvarchar](4000) NULL, [read_permission] [nvarchar](4000) NULL, PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
我正在尝试将PP.dbo.LOCALE_CODE的所有行插入到CP.dbo.LOCALE_CODE,如下所示
SET IDENTITY_INSERT CP.dbo.LOCALE_CODE ON insert into CP.[dbo].[LOCALE_CODE] select * from PP.dbo.LOCALE_CODE
但是正在低于错误
仅当使用列列表并且IDENTITY_INSERT为ON时,才能为表’CP.dbo.LOCALE_CODE’中的identity列指定一个显式值。
我什至尝试了如下的批量插入
BULK INSERT CP.[dbo].[LOCALE_CODE] from 'C:\locales.csv' with (fieldterminator = ',', rowterminator = '\n' ) go
当IDENTITY_INSERT设置为ON或将复制用户插入到NOT FOR REPLICATION标识列中时,必须为表’LOCALE_CODE’中的标识列指定显式值。
有人可以帮忙修复枯萎的插入内容,或直接从PP.Locale_Code插入到PP.Locale_Code吗?
插入时,您需要在目标表中明确提及列名。用CP.[dbo].[LOCALE_CODE]表的列列表替换Col1,Col2等
CP.[dbo].[LOCALE_CODE]
SET IDENTITY_INSERT CP.dbo.LOCALE_CODE ON insert into CP.[dbo].[LOCALE_CODE] (Col1 ,Col2 , Col3) select * from PP.dbo.LOCALE_CODE
您可以在源表的SELECT中使用* PP.dbo.LOCALE_CODE
PP.dbo.LOCALE_CODE