J.D*_*.D. 2 sql-server insert sql-server-2008-r2 identity table
我的代码:
SET IDENTITY_INSERT SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn ON
INSERT INTO SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn
SELECT ColumnWithIdentity, OtherColumnWithoutIdentity, LastColumnInThisTable
FROM ALinkedServer.PrettyCoolDatabaseAsWell.StandardSchema.TableWithIdentityColumn
SET IDENTITY_INSERT SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn OFF
Run Code Online (Sandbox Code Playgroud)
错误:
消息 8101,级别 16,状态 1,第 4 行
表 'SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn' 中标识列的显式值只能在使用列列表且 IDENTITY_INSERT 为 ON 时指定。
是什么赋予了?
小智 7
将列列表添加到您的代码中:
SET IDENTITY_INSERT SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn ON
INSERT INTO SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn
(ColumnWithIdentity, OtherColumnWithoutIdentity, LastColumnInThisTable)
SELECT ColumnWithIdentity, OtherColumnWithoutIdentity, LastColumnInThisTable
FROM ALinkedServer.PrettyCoolDatabaseAsWell.StandardSchema.TableWithIdentityColumn
SET IDENTITY_INSERT SomeCoolDatabase.BoringOldSchema.TableWithIdentityColumn OFF
GO
Run Code Online (Sandbox Code Playgroud)
基本上,列列表是当您明确说明要插入的列时。
请记住,当您设置时IDENTITY_INSERT ON
,您必须在插入语句中指定作为标识的列的值(在您的情况下为 column ColumnWithIdentity
)。如果IDENTITY_INSERT OFF
,SQL Server将标识列的第一个自由价值,所以你不能添加ColumnWithIdentity
在该领域SELECT
的一部分INSERT
。
归档时间: |
|
查看次数: |
1848 次 |
最近记录: |