问题标签 [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 - 从属插入语句
我有一个关于客户客户(姓名,地址)的数据表,其中包含“John Doe”、“Some Street 123”等行。对于表中的每一行,我想在 Person(id, name) 表中插入一行,在 Address(id, person_id, address) 表中插入一行。
我可以通过为 Customer 中的每一行运行两个插入语句来完成此操作:
但这是低效的。我想批量插入,有点像这样:
sql - 批量插入返回无序标识字段
我的 (tableA) 有一个标识字段 (ID),我需要通过一次插入操作一次插入多行,所以我使用表结构作为存储过程的传递参数
我需要按插入顺序插入的 id,所以我在我的 SP 中运行以下查询(tableB 与 tableA 具有相同的结构):
如果我用 100 条记录运行上述过程,它会返回新的标识字段,并按照它插入到 tableB 的顺序,但是当我用 500 条记录运行它时,所有插入的 id 都返回,但没有合理的顺序,为什么会发生这种情况?
我不需要另一个临时表将它放在那里并对其进行排序并返回,我只想知道它为什么会发生,是否有任何解决方案而不使用额外的临时表进行排序?
c# - IDENTITY INSERT 和 LINQ to SQL
我有一个 SQL Server 数据库。该数据库有一个名为 Item 的表。项目有一个名为“ID”的属性。ID 是我桌子上的主键。这个主键是一个增量值为 1 的 int。当我尝试插入记录时,我收到一条错误消息:
当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'Item' 中插入标识列的显式值。”。
我正在尝试使用以下代码插入记录:
当我在提交之前查看 i.ID 时,我注意到 i.ID 设置为 0。这意味着我正在尝试插入 0 作为身份。但是,我不确定它应该是什么。有人可以帮我吗?
谢谢!
asp.net - 我的 SQL 语句有问题
这是我的声明:
我明白了:
关键字“INTO”附近的语法不正确。必须声明标量变量“@TopicsID”。必须声明标量变量“@TopicsID”。
asp.net - 存储过程 IDENTITY_INSERT
我最近更改了我的数据表,我删除了列并添加了一个新列,该列定义为 identity = True 和 identity seed = 1,identity increment = 1。当我尝试通过 STORE PROCEDURE 将数据插入该表时,我得到了这个异常:
只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“AirConditioner”中的标识列指定显式值。
我看到我需要添加以下行: SET IDENTITY_INSERT [dbo].[AirConditioner] ON 最后关闭我添加了它仍然抛出异常......
我的存储过程作为图片附加
c# - 带有标识列的 SqlBulkCopy 插入
我正在使用该SqlBulkCopy
对象将生成的几百万行插入到数据库中。唯一的问题是我要插入的表有一个标识列。我尝试将SqlBulkCopyOptions
toSqlBulkCopyOptions.KeepIdentity
和 identity 列设置为0
'sDbNull.Value
和null
. 这些都没有奏效。我觉得我错过了一些非常简单的东西,如果有人能启发我,那就太好了。谢谢!
编辑为了澄清,我没有在DataTable
我正在导入中设置身份值。我希望它们作为导入的一部分生成。
编辑 2
这是我用来创建基础SqlBulkCopy
对象的代码。
sql-server - 强制 SET IDENTITY_INSERT 从 MS Access 更快生效
我正在将一套 MS Access 后端数据库升级到 SQL Server。我编写了 SQL 脚本以在 SQL Server 中创建表模式。现在我正在尝试填充表格。大多数表都有自动编号的主键。这是我的一般方法:
第一次插入立即发生。随后的插入尝试失败并出现错误:“当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'TblName' 中插入标识列的显式值。”
我为该特定错误添加了一个 Resume 语句,还添加了一个计时器。事实证明,错误持续了整整 600 秒(十分钟),然后插入成功进行。
MS Access 是否每 10 分钟自动刷新一次其 ODBC 会话?有没有办法让这种情况发生得更快? 我错过了一些明显的东西吗?
对于那些马上想说“使用升迁向导”的人的背景信息:
我没有使用内置的升迁向导,因为我需要能够从头到尾编写整个操作的脚本。目标是在客户端位置执行切换之前在测试环境中运行它。
tsql - 插入带有标识和外键列的表
我试图从两个不同的数据库将值从一个表插入到另一个表中。
我的问题是我有两个有关系的表,第一个表也有一个标识列。
例如表第一(id,名称) - 表第二(id,地址)
所以现在这两个表都存在一个数据库中的值,我正在尝试将值从这个数据库复制到另一个数据库。
因此,当我将值从第一个 db 插入到第二个 db 时,第一个表将自己插入 Id 列的值,所以现在我必须将该 id 链接到第二个表。
我怎样才能做到这一点?
使用 MSSQL 服务器 2000更新
sql-server-2008 - identity_insert on/off 后的 SQL Server 完整性检查
我正在将旧应用程序(php + mysql)中的数据导入重写版本(sql server 2008 和 mvc3)。我目前正在编写一个数据库同步/转换包。
由于某种原因,mysql 数据具有主键但没有外键,并且由于数据仍然是相关的(尽管缺少外键),所以我的转换包正在使用 IDENTITY_INSERT ON/OFF。因为源数据无法强制执行数据完整性,所以我想在执行插入并将 IDENTITY_INSERT 设置为 OFF 后执行完整性检查。
有没有一种好方法来编写该动作的脚本?最好在表级别而不是整个数据库上?
谢谢。
sql - ETL 策略:身份插入与使用身份逻辑
我的一个 ETL 将大约 1800 万行从一台服务器移动到另一台服务器以进行进一步处理。我正在使用该FAST LOAD
选项。
对于身份列,我有两个选择:
- 采用
IDENTITY INSERT
- 不要为 Identity Column 设置任何输入,从而强制 SQL Server 为插入的每一行生成一个新 IDENTITY
Identity 列的值无关紧要。
我应该选择哪个选项以获得最佳性能?