问题标签 [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 - 从插入/选择中获取身份
我正在编写 SQL Server 2012 中的脚本(作为经典 ASP 页面的后端),以从我的初始表 ( aaa_test_ap
) 中选择所有行并将它们分布在我的其他 3 个表 ( aaa_test_users
、aaa_test_users_positions
和aaa_test_users_education
) 中。
我想获得 的标识aaa_test_users.ID
,一旦将一行插入其中,用于其他两个表插入,作为它们的 FK ( User_ID
),在同一个查询中。
INSERT INTO
是否可以在一个查询中 使用该方法获得身份?
我试过使用SCOPE_Identity()
,但它只返回最后一个值。
使用该OUTPUT
方法,我将如何利用它生成的表值,以便将第一个插入语句生成的值插入到接下来的两个语句中,每个语句都在正确的插入行中?
首先,表格:
这是我一直在处理的查询:
sql-server - SQL Server Profiler 显示 SCOPE_IDENTITY() 而 ColdFusion 代码未在任何查询中使用它
我正在使用 SQL Server 2008 R2 Profiler 来调试 ColdFusion 7 应用程序上的问题 - 该应用程序由其他人开发 - 在 Windows 7 上运行,SQL Server 2008 R2 作为后端。该应用程序最初使用 MS Access 2003 作为后端,后来转换为 SQL Server 2008 R2。探查器显示以下使用 SCOPE_IDENTITY() 的 SQL,但是当我使用搜索实用程序搜索应用程序根目录时,没有文件在其 SQL 查询中的任何位置使用 SCOPE_IDENTITY() 函数。该应用程序的 SQL Server 数据库没有任何存储过程、视图、函数等。所有 SQL 查询都是 ColdFusion 文件中的嵌入式查询。然后 Profiler 在哪里获得 SCOPE_IDENTITY() 函数:
更新 虽然最初该应用程序是在 CF 7 中开发的,但后来 CF 7 升级到了 CF9,现在我正在本地机器上调试它,它有 CF 11。我不知道当 CF 7 替换为时代码是否也升级了CF 8,然后是 CF 9。似乎在分析器中生成上述 SQL 的 CFquery 看起来像。此外,表 ProductItems 确实有一个标识列,数据库没有使用任何触发器,CFquery 标签没有使用结果属性:
sql - 菊花链多个scope_identities?
假设我有 4 个表,我想使用新插入的 pk 从一个表到下一个表(这都作为一批执行)
这可能吗?
谢谢
tsql - 如何将标识值插入另一个表
我有两张桌子:
因此,让我们插入 Clients ('Ralph', 00000000),id_client 将是 1(显然)。问题是:我怎样才能将那个 1 插入到 Sales 中?
stored-procedures - SQL server存储过程级联插入三张表
我正在运行我自己的项目。之前我使用的是 MS Access 数据库,但现在它不足以处理如此庞大的数据。
我的问题是我正在使用存储过程,我需要一些建议。
我尝试对 3 个表进行级联插入。第一个表仅保留协议编号,第二个表地址用于协议,最后一个表用于这些地址。单个协议可以有很多地址,所有这些地址都可以有很多东西。
Scope_identity、output 等效果很好,但是当我对所有表只有一条记录时。
我希望我能解释一下系统。简单的帮助会很好。谢谢
sql - Consistency when using SCOPE_IDENTITY() in output
I want to execute a SQL query that would return the current identity id of the row that was added to the table:
Now my question is it the returned id for my current inserted row or is it the id of the last inserted row?
I mean can I trust it for using as foreign key?
c# - 使用 SQL 和 C# 将表 1 的 PK 作为表 2 中的 FK - 与 select_identity() 中断,对象不能从 DBNull 转换为其他类型
C# 和 SQL 初学者在这里。我有两个表使用主键table1
作为外键table2
。为了获得一个 ID,我正在使用SELECT MAX
并且一切都按我想要的方式工作(下面的代码):
但是同事告诉我我应该使用SCOPE_IDENTITY()
而不是SELECT MAX
. 我确实理解为什么要使用它(在多个用户的情况下等),但是在替换SELECT MAX
它之后,我得到一个错误:
对象不能从 DBNull 转换为其他类型。
在我的数据库中,PK 和 FK 具有 int 数据类型,不允许使用 Null,并且SELECT MAX
可以正常工作。那么我在这里做错了什么?
sql - Scope_Identity() 总是返回 0
以下存储过程正确插入新行,但始终为输出参数返回 0。什么会返回新的行 ID?
sql-server - 获取触发器内插入的标识
我将 TableA 和 TableB 放入 SQL Server 2008。
TableA 有一个在 INSERT & UPDATE 之后触发的触发器,在我插入 TableB 的触发器上,所以我的问题是如何从 TableB 中获取插入的 ID?FROM INSERTED 有 TableA 中记录的信息吗?
如果我在同一个会话中向 tableA 发送了十万个插入。我可以使用 @@identity 或 scope_identity() (我选择最后一个)来获取 b 插入的身份吗?考虑到每次触发触发器以及完成所有触发器功能的时间,使用这两个功能之一是多么方便和安全
sql-server - 为什么 SCOPE_IDENTITY() 在插入一个表而不是另一个表后返回 NULL?
为什么SCOPE_IDENTITY()
在表中插入一行后返回NULL ComponentAssociation
(@@IDENTITY
返回正确的Id),而SCOPE_IDENTITY()
在表中插入一行后返回正确的Id CustomerProjectAssociation
?
两个关联表的创建方式相同。
这是表创建脚本的摘录:
下面是从 SQL Server Management Studio 对数据库执行的两个查询:
结果:
结果: