问题标签 [identity-insert]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 身份插入少量记录而不截断到现有表
我想从 B 服务器的 A 服务器中的表中插入数据。
前任:
--违反主键约束。无法在对象“A.table”中插入重复键。
我已经试过了
我正在使用 SQL Server 2005。
sql-server - EF4 通过脚本插入数据
我知道默认情况下 EF Code First 设置 StoreGeneratedPattern = Identit。没关系。但我想通过 sql 脚本插入部分数据。我知道时间只有一张桌子可以SET IDENTITY_INSERT Rules ON;
但是当我尝试跑步时
我得到错误。我想设置特定的 id 来设置特定的逻辑约束。
我怎样才能解决我的问题?
sql - 使用插入 ID 的 SQL Server 触发器
我想针对在我的数据库中插入一个表创建一个触发器。例如,如果我有一张company_name
桌子,我想做以下事情:
company_name
在服务器 A 上的表中插入新行company_name
调用一个触发器,获取服务器 A 上新插入的行的 id 。Set identity_insert ON
在服务器 B的company_name
桌子上- 将刚刚插入服务器 A 的完全相同的行插入
company_name
服务器 B 上的表中。
链接服务器可以称为[ServerB].[ServerB-Database].dbo.company_name
.
由于不同国家/地区的客户的数据托管限制,这是一项要求。
sql - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表中插入标识列的显式值
我正在尝试在具有标识列的表中插入记录。由于各种原因,这不应该是直接插入,而是应该与外表具有相同的 ID。所以我跑:
我得到了错误:
有任何想法吗?它抱怨 IDENTITY_INSERT 不应该关闭,但我将其设置为开启。
sql - Dropped and recreated the the table in SQL - Data not being read after that
I am a beginner level programmer who was assigned to update the data content in UI. this UI references a database table so I went ahead and began updating the table as per constraints. I had a backup of the data taken and had the create construct imported as well before running the modification queries on SQL Server Management Studio 2008.
A misleading update statement corrupted the table when it updated the whole database instead of 4 rows and I could not pin point to what data ended up being modified and what remained same. Long story short, I had to delete the records and eventually drop the table and then reconstruct it also. Everything went well, I recreated the schema and inserted the data from the backup and continued querying.
However, the UI which was populating its display section from my table went all blank after the incident and I am at a loss to know where is it exactly that I went wrong. It is a small database and this table was NOT referencing any other table. The permissions look good as it was before. I can't really understand what has gone wrong. Queries work well.
If you have had the patience to read my tediously long narrative till now, can you please tell me what is it that I am missing here ?!
I apologize for the overdrawn description but the context felt more important than the problem statement itself.
sql - SQL Server查询,存储过程多个Identity_Insert表创建归档记录
这在存储过程查询中是否可能,因为我收到错误
消息 208,级别 16,状态 1,过程 SFC_spTransferDRtoDeleteArchives,第 85 行
无效的对象名称“dbo.Sales.DeletedDeliveryHeaderHistory”。
我正在尝试找到一种解决方案,用于在一个存储过程中为多个表上的多个数据传输创建存储过程,只是想知道它是否可能?或者可能有解决方案。
sql - SQL Server 2008 R2 - 为什么我的临时表认为它有一个标识列?
我正在尝试创建一个存储过程,该过程将能够限制使用部门 ID 返回的记录数。我试图通过加入临时表来限制记录。
当我运行下面的代码时,我得到了错误:
只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“#department”中的标识列指定显式值。
这是代码:
我开始:
但我得到了错误:
数据库中已经有一个名为“#department”的对象
我不是 SQL 专家,所以也许有更好的方法来做到这一点?
asp.net-mvc - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表“UTILISATEUR”中插入标识列的显式值
我将 Visual Studio 2013 与 Sql Server 2012 一起使用。我使用它 为我的项目生成视图。我有两张桌子:
- UTILISATEUR (ID_UTILISATEUR,CIN,NOM,PRENOM...,ID_ROLE):
ID_UTILISATEUR是主键,ID_ROLE是外键。 - ROLE(ID_ROLE,NOM_ROLE,DESCRIPTION_ROLE):ID_ROLE是主键。
代码生成过程完成后,我有这个:
- 控制器/UtilisateurController.cs 。
- 一个新文件夹(Views/Utilisateur):Create.cshtml、Delete.cshtml、Details.cshtml、Edit.cshtml 和 Index.cshtml。
我的问题是,当我访问 Create.cshtml 页面时,重新输入字段并单击Create,我收到错误消息:Cannot insert explicit value for identity column in table 'UTILISATEUR' when IDENTITY_INSERT is set to OFF.
它解释了我无法将值插入标识列,因为它设置为 ON。我不知道我应该在以下代码中更改什么来解决它。
我在 UtilisateurController.cs 中的 Create 方法:
错误行是:db.SaveChanges();
我的 Views/Utilisateur/Create.cshtml 页面是:
请帮忙 !
asp.net-mvc - 实体插入数据。“属性'ID'是对象的关键信息的一部分,不能修改”错误
current 是 myclass 的新实例, context.classRepo.bringcontentwithid(userid) 返回它的一个实例。我将此值分配给我的新对象 current 然后尝试在我的数据表中插入新行,但它给了我错误,例如“属性 'ID' 是对象的关键信息的一部分,无法修改”
我不明白的一点是我不想修改任何我只是创建一个实例的东西 make chenges 并将其作为新数据插入。
我怎样才能解决这个问题 ?
sql-server - 如何在运行时在 DatabaseGeneratedOption.Identity、Computed 和 None 之间切换,而不必生成空的 DbMigrations
我正在将旧数据库迁移到一个新数据库,我们需要主要通过实体框架代码优先访问和“管理”(听起来可能有些矛盾)。
我们正在使用 MS SQL Server 2014。
旧数据库包含一些带有计算列的表。典型的 GUID 和 DateTime 的东西。
从技术上讲,这些列没有计算列规范,而是在给定默认值时使用
NEWID()
andGETDATE()
我们都知道,配置处理这些属性非常容易,DbContext
如下所示:
INSERTs
以上将指示实体框架在和期间忽略为此类属性提交任何提供的值UPDATEs
。
但是现在我们需要允许导入遗留记录并维护旧值,包括标记为的PRIMARY KEY
IDENTITY
这意味着我们必须在插入这些记录时设置
Id
,Guid
和DTS
属性。DatabaseGeneratedOption.None
对于 的情况
Id
,我们必须以某种方式SET IDENTITY_INSERT ... ON/OFF
在连接会话中执行。我们也想通过 Code-First 来完成这个导入过程。
如果我修改模型并“临时”并将这些属性设置为
DatabaseGeneratedOption.None
在创建数据库之后,我们将得到典型的:自创建数据库以来,支持上下文的模型已更改。考虑使用 Code First 迁移来更新数据库。
我知道我们可以生成一个空的编码迁移,
-IgnoreChanges
以便“建立”这个最新版本的上下文,但这不是一个可接受的策略,因为我们必须来回运行空迁移这个目的。
半个答案:
我们考虑过赋予这些属性可以为空的类型,即
在关注初始值的默认值时DbMigration
:
问题:
DatabaseGeneratedOption.Identity
但问题仍然存在:有没有办法在运行时DatabaseGeneratedOption.Computed
和运行时之间切换DatabaseGeneratedOption.None
?
至少,我们如何DatabaseGeneratedOption.Identity
在运行时打开/关闭?