问题标签 [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 - 插入条目的存储过程中的 Sql 脚本错误
我正在开发一个存储过程以将条目批量添加到表中。
这是我到目前为止所得到的:
我收到消息“只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能指定表 '@toInsert' 中标识列的显式值。”
我尝试在“declare”语句之后添加“set identity_insert @toInsert on”行,但出现“语法错误”错误。我已经尝试将它移动到其他几个位置,结果相同。
现在,我做了一些研究,看起来我实际上并不想将“identity_insert”设置为 on,因为它会要求我指定一个 id 而不是让表自动生成一个,这就是我确实想。
假设,我需要做的就是在插入调用中指定表中的每个单独的列,省略 id 值,并且一切都应该匹配得很好。但是,除非我弄错了,程序已经这样设置了,但它仍然不喜欢它。
有什么我可能会丢失的吗?
sql-server-2008 - SQL Server 标识插入错误
我使用“身份增量=1,身份种子=1”设置身份插图。但是我试了一下,第一个id是1,第二个id是4,第三个是8,第四个是14,为什么会这样呢?
sql - 如何选择使用 IDENTITY_INSERT 或在单个语句中提供一个
我正在研究一个需要在具有标识列的表中重新插入元素的存储过程。这样做,对于某些行,它需要指定标识列,对于其他一些行,最好由标识列生成新的标识值。是否可以在单个语句中而不是在一个语句中执行此操作IF-ELSE
?
这是我现在拥有的解决方案(id_column
身份列在哪里):
如您所见,这两个语句非常相似,不必重复几乎相同的插入会很有趣。
编辑:
此表保存当前联系人数据。我将存档/删除的联系人移动到另一个表,因此我们保持此表清洁且没有不需要的数据,但有时我可能会将它们恢复到当前数据表。如果可能的话,我想保留联系人在存档/删除之前的身份。如果不可能(身份已经重新分配),我需要生成一个新的。
sql - 即使指定了列名,SET IDENTITY_INSERT 也不起作用(coldfusion)
有很多关于获取错误的帖子:
“必须为表中的标识列指定显式值”“当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时”
问题始终是用户正在尝试执行以下操作:
就我而言,我正在提供列名,但仍然出现该错误。
编辑:我试图捕获标识列的原因是因为临时表是我最终将其他数据插入的测试版本RC_Incoming
。我的算法是:
- 创建
TempTable
为RC_Incoming
- 将其他表中的数据插入
TempTable
(RecordID
自动生成) - 确保一切看起来都正确
- 如果没问题,那就为 realz 做——插入到
RC_Incoming
.
代码:
我仍然得到:
执行数据库查询时出错。[Macromedia][SQLServer JDBC 驱动程序][SQLServer]当 IDENTITY_INSERT 设置为 ON 或复制用户插入 NOT FOR REPLICATION 标识列时,必须为表 '#TempTable_____________________________________________________________________________________________00000000066E' 中的标识列指定显式值。
RC_Incoming
其中已经有数据,并且具有完全相同的结构(在 SQL Server Management Studio 中完成):
sql - H2 相当于 SET IDENTITY_INSERT
我正在使用 H2 来 JUnit 测试将在生产中使用 MS SQL Server 运行的系统。
作为最新版本的一部分,我需要进行一些 DDL 更改并将数据从旧结构迁移到新结构。这将涉及将数据复制到具有标识列的新表中。
我实际上是将一个表分成两个。展望未来,新表将有一个独立的(身份)主键,但对于初始化,它需要与原始表具有相同的主键值(即在迁移时它是一对一的,之后它将是一太多)。
我不介意在系统中有 H2 和 SQL Server 特定代码(DDL 已经是系统特定的),只要结果结构是等效的,所以如果有一个 H2 选项或 JDBC 技巧可以实现这一点没事的。
一切都在使用 Spring JdbcTemplate 运行。
感谢您的任何建议。
sql - SQL 自动递增范围或排除数字
我正在尝试从 sql 的自动增量列中添加范围或排除数字。
我们有一个关于作业编号的自动增量列,因为每个作业都是唯一的。问题是我们也将自己视为客户,作业编号为 99999,而其他作业编号以 10500 结尾。当自动递增发生时,它会从 99999 开始。这有一种方法可以排除这个或我是否必须手动设置 IDENTITY_INSERT ON 并自己插入 ID?
提前致谢
r - 在 Azure SQL db 上使用 RODBC::sqlSave 追加不可能
因此,StackOverflow 上存在许多与 RODBC 问题有关的问题,但我还没有看到这种尝试附加到 AZURE SQL 数据库的特定变体。我真的认为应该有一个参数可以让您识别 KEY 而不是尝试加载...我会准备一个拉取请求,但 RODBC 在 github 上没有 dev 分支?无论如何,我会发布我的问题和我试图做的事情,然后是我讨厌的解决方法。
我在一个名为ActDF.new
以下属性的表中有我的数据:
我想将此信息附加到一个数据库中,并带有一个名为Actuals
. 所以我尝试使用 RODBC::sqlSave 来完成此操作。下面找到逐个打击:
连接到数据库
获取数据库上的行数(知道 KEY 应该从哪里开始)
好的,让我们在我的 DF 中添加一个 ID,但是,还有大量的 NA 用于 Value ......我不需要这些,所以让我们转换为更好的 DF
有很多空白值,所以让我们将它们转换为 NA(这是一种令人讨厌的方式......我知道)
###好的,我们准备好了!所以尝试追加!###
呵呵……够公平的……
哦……但是……等等,什么?该表肯定存在,并且我拥有 RW 权限。所以也许 IDENTITY_INSERT 以某种方式有所不同......无论如何状态是什么?
嗯。addPK
不知道这意味着什么……让我们用不同的设置再试一次
这一点也不烦人。OK FINE,让我们一起删除ID
哦真的吗?缺少列???????美好的
设置fast=F
返回错误:length of 'dimnames' [2] not equal to array extent
好的。ggsqlSave
你赢了,我输了。这是我认为需要修改的地方...检查它正在构建的 SQL 查询,我们看到:
我认为需要一些参数,我可以简单地指定该查询不尝试附加到列ID
......对吗?
我错过了什么吗?
sql-server - 如何在运行时打开/关闭 DatabaseGeneratedOption.Identity
我有一个由 EF6 Code First 创建的数据库。有些表有一个标识列。我需要使用旧 Id 值向这些表中插入一些记录。我尝试了出现在此链接如何在 DatabaseGeneratedOption.Identity... 之间切换的解决方案,该解决方案演示了如何在计算选项和无选项之间切换,但不在标识列上。当我尝试这样做时,我收到此错误消息:“当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Links' 中插入标识列的显式值。” 有没有办法解决这个问题?
entity-framework - 如何通过 AddOrUpdate 方法在 Seed 中插入身份
我有一个具有标识列的实体。作为数据种子的一部分,我想在我的系统中为“标准数据”使用特定的标识符值。我不想禁用身份。只有我想在迁移种子中设置 IDENTITY_INSERT ON。
我的代码是:
但我的 CityId 没有插入并且身份自动插入
我的 Entityframework 版本是 6.1.3
更新:
我将我的代码更改为:
并且问题没有解决。
entity-framework - 当 IDENTITY_INSERT 为 OFF 时,无法在表中插入显式值
当我尝试在表中插入值时出现错误。
_dltype
是一个类型的对象BRIDownloadType
。
现在我得到错误:
当 IDENTITY_INSERT 为 OFF 时,无法在 BRIDownloadTypes-Table 的身份列中插入显式值。
我的 2 张桌子是
BRI下载类型
BRITodo
有趣的是,如果我对我的对象做某事_dltype
,我就可以使用它。以下代码正在运行,但我不明白为什么,我正在插入完全相同的对象。
谁能向我解释一下,为什么最后一种方法有效而第一种方法是抛出该错误?我刚刚添加了行
但我仍在插入同一个对象。如果我插入Id
对象而不是对象,它也可以正常工作。我不知道那里发生了什么。