在SQL的触发器中怎么获取前端传递过来的ID

在SQL的触发器中怎么获取前端传递过来的ID,第1张

首先你订阅一个ID变量

DECLARE @ID int;

然后获取这个变量

SELECT @ID = ID from Inserted;

现在你的@ID的值就是前端传递过来的ID值了

1、没谷歌到php可以用的直接方法,不过可以获取批量插入的第一个自增id

2、假设批量插入的数据的自增ID是连续的,则可以通过第一个自增ID获取所有自增ID

3、测试批量插入的数据的自增ID是否是连续的,即插入过程中,单独插入其他数据,批量插入的自增ID是否连续

4、生成批量插入10w条数据的sql

5、navicat打开两个页面,一个是上面的sql,一个是一条单独插入的sql(这条sql的test_id,要大于上面sql里随机数的最大值,方便查看)

6、所以可以使用2中的方式获取批量插入的所有自增ID

你这个是什么数据库

DB2 使用 generated always as identity 来递增的话, 使用下面的语句来查询:

select identity_val_local() from SYSIBMSYSDUMMY1;

SQL Server 使用 identity 来递增的话,使用下面的语句来查询:

查询指定表的 当前序号的数值,以及 增量、与种子数值的函数

SELECT

ident_current('test_create_tab2') as 序号当前数值,

ident_incr('test_create_tab2') as 增量,

ident_seed('test_create_tab2') as 种子数(起始数字)

go

注: test_create_tab2 是表名字

在 C# 中, 可以通过下面的方式, 一次执行2行 SQL 语句, 来完成插入并获取最新ID 的处理逻辑

/// 需要执行的 SQL 语句

/// 需要注意的是

/// 这里实际上定义了2条语句

/// 一条是 INSERT

/// 一条是 SELECT SCOPE_IDENTITY()

private const String INSERT_SQL =

@"INSERT INTO test_SCOPE_IDENTITY (val)

VALUES (@val)

SELECT SCOPE_IDENTITY()";

MySQL 使用 AUTO_INCREMENT 递增的话

使用 select last_insert_id() 来查询

--把相关信息存入临时表,方便在触发器时取到。

IF OBJECT_ID('#AuditWho') IS NOT NULL

DROP TABLE [#AuditWho]

CREATE TABLE [#AuditWho] (PrimaryKey INT,Operater NVARCHAR(50))

INSERT INTO [#AuditWho] VALUES(@Member_nbr,@Operater)

sql update 触发器 获得被update的行的信息 create trigger TgName

on tb

for update

as

if update(recommend)

begin

update tb set commenddate=(getdate()) from tb inner join inserted on tbvlistid=Insertedvlistid

end

关键在于Inserted表

触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。

Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。1插入 *** 作(Insert)

Inserted表有数据,Deleted表无数据

2删除 *** 作(Delete)

Inserted表无数据,Deleted表有数据

3更新 *** 作(Update)

Inserted表有数据(新数据),Deleted表有数据(旧数据)

以上就是关于在SQL的触发器中怎么获取前端传递过来的ID全部的内容,包括:在SQL的触发器中怎么获取前端传递过来的ID、mysql 批量插入 获取所有自增ID、请问sql如何获取递增id的最新值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10081345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存