标签: identity-insert

SQL Server 生成带有标识插入的脚本

生成数据库脚本时,我正在编写要迁移到不同环境的数据的脚本。脚本生成中是否有一个设置,我可以启用它来自动设置 IDENTITY_INSERT 开/关,这样我就不必在生成的脚本中手动检查每个表并进行设置?我正在使用 SSMS,我想通过 SSMS 来做到这一点。

这是我得到的:

INSERT my_table (my_table_id, my_table_name) VALUES (1, 'val1');
INSERT my_table (my_table_id, my_table_name) VALUES (2, 'val2');
Run Code Online (Sandbox Code Playgroud)

这是我想要的:

SET IDENTITY_INSERT my_table ON
INSERT my_table (my_table_id, my_table_name) VALUES (1, 'val1');
INSERT my_table (my_table_id, my_table_name) VALUES (2, 'val2');
SET IDENTITY_INSERT my_table OFF
Run Code Online (Sandbox Code Playgroud)

identity-insert generate-scripts sql-server-2008

2
推荐指数
1
解决办法
8517
查看次数

数据库范围相当于SET IDENTITY_INSERT OFF

在我从SQL脚本插入140万行数据的永恒 传奇中,我编写了一个基本的WinForms应用程序,它接受脚本的每一行并单独执行.

但是,因为包含原始脚本

SET IDENTITY_INSERT [Table] OFF
Run Code Online (Sandbox Code Playgroud)

和SET是一个会话范围的命令,这个设置在每次SQL调用时都会丢失,这意味着每一行都失败了.有没有办法在整个数据库范围内为整个表设置IDENTITY_INSERT,这样我可以在没有它们的情况下进行这些单独调用失败?或许我可以通过在每一行附加一个命令来告诉它忽略身份规范?

sql-server identity identity-insert

1
推荐指数
1
解决办法
6295
查看次数

如何在TSQL中关闭表的IDENTITY列

我使用'SET IDENTITY_INSERT OFF',这是成功执行但在表中仍然只有身份

请帮助任何人

identity-insert

1
推荐指数
1
解决办法
1375
查看次数

实体框架更新行,同时排除 IDENTITY 列

我试图更新一行,同时忽略数据库中存在的标识列。

更新时我收到以下错误:

_context.Entry(existingEvent).Property(x => x.ReferenceNumber).IsModified = false;
_context.Events.Update(existingEvent);
Run Code Online (Sandbox Code Playgroud)

异常:Microsoft.EntityFrameworkCore.DbUpdateException:更新条目时发生错误。有关详细信息,请参阅内部异常。---> System.Data.SqlClient.SqlException:无法更新标识列“ReferenceNumber”。

我也尝试了以下方法,但这也导致了异常:

_context.Events.Update(existingEvent);
_context.Entry(existingEvent.ReferenceNumber).State = EntityState.Unchanged;
Run Code Online (Sandbox Code Playgroud)

System.InvalidOperationException:找不到实体类型“int”。确保实体类型已添加到模型中。

桌子:

CREATE TABLE [DW].[Reporting]
(
    [ID] UNIQUEIDENTIFIER NOT NULL,
    [ReferenceNumber] INT NOT NULL IDENTITY(1,1) UNIQUE,
    [Date] DATETIME NOT NULL,
    [Address] VARCHAR(256) NOT NULL,
    [EventName] VARCHAR(256),
    [Subject] VARCHAR(512),
    [PhotographerID] UNIQUEIDENTIFIER,
    [CameraNumber] VARCHAR(24),
    [PictureAmount] INT,
    [NegativeID] UNIQUEIDENTIFIER,
    [CategoryID] UNIQUEIDENTIFIER,
    [People] VARCHAR(256),

    CONSTRAINT [PK_Reporting] PRIMARY KEY (ID),
    CONSTRAINT [UV_Reporting_Code] UNIQUE ([ReferenceNumber]),
    CONSTRAINT [FK_Reporting_Photographers_PhotographerID] 
        FOREIGN KEY ([PhotographerID]) REFERENCES [DW].[Photographers]([ID]),
    CONSTRAINT [FK_Reporting_Negatives_NegativeID] 
        FOREIGN KEY ([NegativeID]) REFERENCES [DW].[Negatives]([ID]),
    CONSTRAINT [FK_Reporting_Categories_CategoryID] …
Run Code Online (Sandbox Code Playgroud)

.net t-sql entity-framework identity-insert asp.net-core

1
推荐指数
1
解决办法
1313
查看次数