一个带更新触发器表为啥不能批量更新,我应该怎么做?

13501384036 13501384036 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我有一个
主表A:
ID FLAG
----------------
1 0
2 0
3 0

副表B:
ID Flag
--------------
1 0
2 0
3 0

在主表上有一个触发如下:

CREATE TRIGGER TR_Update_A ON dbo.A
FOR update
AS
declare @a int
declare @b int
set @a = (select Flag from inserted)
set @b = (select id from inserted)
if @a = 9
begin
update JFInfoTab set Flag = 1 where ID = @b
end


问题:
当我在用这样的SQL语句更新主表时,发生错误,请问为啥?在不改变SQL语句的情况下该如何解决?
Update A set Flag = 1 where Flag = 0



...全文

相关推荐

SQL Server 触发器 表的特定字段更新时,触发Update触发器

在UPDATE操作中,`inserted`表包含了更新后的新值,而`deleted`表包含了更新前的旧值。

weixin_38708361

浅析触发器

--浅析触发器1、关于inserted 表和deleted 表触发器语句中使用了两种特殊的表:inserted 表和deleted 表inserted 表放的是本次insert操作插入的数据或本次update操作更新后的数据。deleted  表放的是本次delete操作删除的数据或本次update操作更新前的数据。2、inserted 表和deleted 表里的记录数。该

sdhdy

Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)

在本文中,我们将探讨一个常见的问题,即当触发器试图更新同一张表并在同一事务中读取该表时,导致的“触发器不能读它的”错误,以及如何解决这个问题。触发器通常用于实施业务规则、数据验证、日志记录等。

weixin_38678550

批量创建数据库中所有表的触发器,删除所有触发器

在循环中,为每个表生成一个`CREATE TRIGGER`语句。3. 动态执行该语句,创建对应的触发器。同样,对于批量创建UPDATE触发器,只需调整触发器逻辑以适应更新操作。

liweilin1989

PostgreSQL 中如何处理数据的批量更新和数据版本控制?

在本文中,我们详细探讨了在 PostgreSQL 中如何处理数据的批量更新和数据版本控制。通过使用 UPDATE 语句、批量插入和更新结合的方式以及性能优化技巧,我们可以实现高效的批量更新操作,提高数据库的性能和响应能力。同时,通过使用触发器、时间戳字段和版本号字段等方法,我们可以实现数据的版本控制,跟踪数据的变化历史,便于数据的回滚、审计和并发控制。在实际应用中,我们需要根据具体的业务需求和数据特点,选择合适的批量更新和数据版本控制方法。

糖葫芦.T
评论 1
收藏 已收藏
分享
返回顶部
13501384036
MS-SQL Server 34,876 成员 254,635 内容