使用 SQL Server 触发器将新行中的值插入另一个表
在 SQL Server 中实现触发器提供了一种便捷的方法来自动执行基于关于某些事件。如问题中所述,可以在 aspnet_users 表上设置触发器来捕获新插入并使用相关信息填充另一个表。
为了从新插入的行中检索值,SQL Server 提供了 inserted 伪表,其中包含插入行的列和数据。这样就无需依赖比较时间戳等可能不可靠的方法。
以下 SQL 语句演示了如何创建一个触发器,将新行中的 user_id 和 user_name 值插入到单独的表中:
CREATE TRIGGER yourNewTrigger ON yourSourcetable FOR INSERT AS INSERT INTO yourDestinationTable (col1, col2 , col3, user_id, user_name) SELECT 'a' , default , null, user_id, user_name FROM inserted go
在此示例中:
代码使用插入伪表以访问新行中的 user_id 和 user_name 列。它还根据目标表结构的需要指定其他列值(“a”、“default”和 null)。
定义后,只要将新记录添加到 yourSourcetable 表中,此触发器就会自动执行,确保以最少的手动干预将相应的数据添加到 yourDestinationTable 表中。
以上是SQL Server 触发器如何将新行中的数据插入到另一个表中?的详细内容。更多信息请关注PHP中文网其他相关文章!