问题标签 [scope-identity]
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 - 如何解决级联插入上的空 Scope_Indentity?
我在 SQL Server 存储过程中执行级联插入。然后我将SCOPE_IDENTITY
第一个表插入的 ID 传递给第二个表。
但是在执行存储过程期间,我得到了一个 NULL 值SCOPE_IDENTITY
:
消息 515,级别 16,状态 2,过程 InsertDDM_UserProfile,第 43 行
无法将值 NULL 插入列 'Filter',表 '.....dbo.DDM_Dashboard';列不允许空值。插入失败。
问题:为什么存储过程使用返回空 ID SCOPE_IDENTITY
?
这是我起草的存储过程。已经为这些表设置了 FK 约束:
下面是两个表的结构:
DDM_User-
DDM_仪表板:
sql-server - 为什么 SCOPE_IDENTITY() 不返回我插入的 ID?
我有一个插入语句通过ADODB.Connection.Execute
插入到具有标识列的 MSSQL 服务器上的表中执行,但返回的记录集不返回新插入记录的 ID。
我尝试了以下形式来获取记录的插入 ID。
在所有情况下,当查询返回的记录集时,它不包含标识
为什么会发生这种情况?
sql - SQL 从一个 TVP 插入到两个表中,使用来自第一个表的范围标识用于第二个表
我有带有多条记录的 SQL TVP 对象(例如 2 条记录)。我需要将这些记录插入到两个几乎相同的表中,唯一的区别是第二个表还有一个列,它是指向第一个表的外键。所以它应该循环TVP记录并一个一个地插入两个表中,但在第一个表中获取插入记录的scope_identity()并将其用于第二个表中的记录。
第一次迭代
- 插入第一个表
- 获取插入记录的 scope_identity()
- 插入到第二个表中(使用第一个表中的范围标识来填充附加列)
依此类推,取决于 TVP 中有多少条记录。
我怎样才能做到这一点?
sql - Azure SCOPE_INDENTITY() DBPARM
将 SQL Server 与 Native Client 一起使用时,如果在 DBParm 中未指定以下内容,则会得到有趣的结果:
我正在考虑跳入 Azure。Azure 会识别这些 DBParms 吗?
另外,我可以包括
在我使用 SQL Native Client 的连接字符串中?
谢谢
sql-server - MS SQL 2012,更新错误记录有另一个会话
我有一个使用 MS SQL Server 2012 的多用户 ASP.NET 系统。我有一个令人困惑的问题。我有一个像这样的表
ID 名称 MasterID 计数
现在。假设,有User1和User2。User1 和 User2 在同时使用存储过程的屏幕上插入记录。过程返回插入的 ID,如
... 选择范围标识();
例如 User1 的插入记录是 379,User2 的插入记录是 380。两个用户都必须尽快通过 ID 更新自己记录中的 MasterID。但有时 User2 会更新 User1 记录。什么可能导致此错误。谢谢你的帮助
c# - SQL Server Scope_identity 存储过程在 C# 中返回 null
我有一个名为的存储过程DvdInsert
,如下所示:
它应该返回 ID 号,但在 Visual Studio 2017 中我有代码:
我有一个 Nunit 测试来验证功能,但在调试模式下我得到返回值 0 而不是 4
我的测试代码:
在我添加之前:
我在这里得到一个空引用异常:
我在 SQL Server 中的表如下所示:
我不明白为什么我没有从存储过程中获取返回值。有任何想法吗?我是初学者,所以如果愿意,请分解您的解释。
预先感谢您的帮助。
如果有帮助,我有我在邮递员中收到的错误的屏幕截图,请单击此处
我的邮政编码:
我在调试时遇到一条错误消息,上面写着“System.Data.SqlClient.SqlException:'子查询返回的值超过 1 个。当子查询遵循 =、!=、<、<=、>、>= 时,这是不允许的或当子查询用作表达式时。语句已终止。'"
这只是在黑暗中拍摄,但我的问题可能与我插入新导演的子查询有关吗?
sql - SQL 插入 ID from IDENTITY ID 正在插入的行的 ID
我想知道,是否有一种直接的方法可以将 ID(在 ID 列中使用 IDENTITY(1,1) 生成)插入另一列。换句话说,我正在寻找 SCOPE_IDENTITY() 我可以在 insert 时获得,而不是在INSERT提交之后。
我有一个表,其中有一列具有辅助 ID (SID),它引用同一个表中的行,在某些特殊情况下它引用自身。我知道这样做的唯一方法是在这些情况下执行 INSERT 并因此 UPDATE SID。简化示例:
存在一些故障,即由于该行可能会或可能不会引用自身等事实。
ssis - 需要在 SSIS 中使用 scope_identity 向表中插入数据并获取主键
我是 SSIS 的新手。需要以下要求的帮助。
1) 有一个名为 REPORTDETAILS 的表,它将存储报告详细信息,例如 REPORT_NBR、REPORT_DT、CreatedBy、REPORT_NM、REPORT_LOCATION,其中 Report_NBR 是主键和标识列。
2)我可以将输入数据存储在单独的变量中,并使用执行 SQL 任务成功地将数据添加到表中
3)但需要将主键捕获为输出变量(需要使用scope_identity)并将其传递给我无法执行的下一步。
你能帮我解决这个问题吗?提前致谢
sql-server - 具有返回 id 的 Sql 服务器范围标识保存和更新
保存表格时,我正在将照片保存到另一个表格。一切都很好。但是更新时更新不起作用,所以错误是“无法从dbnull转换为其他类型”