首頁 > 資料庫 > mysql教程 > 如何使用觸發器高效率地將新行值從一個 SQL Server 表插入到另一個 SQL Server 表中?

如何使用觸發器高效率地將新行值從一個 SQL Server 表插入到另一個 SQL Server 表中?

Barbara Streisand
發布: 2025-01-01 10:09:09
原創
387 人瀏覽過

How Can I Efficiently Insert New Row Values from One SQL Server Table into Another Using a Trigger?

使用SQL Server 觸發器將新行值插入另一個表

考慮以下場景:您想要監視aspnet_users 表中的插入,並且將新使用者的ID 和名稱記錄在單獨的表中。為此,您打算在 aspnet_users 上建立一個觸發器來捕獲這些值。但是,您尋求一種比按最新建立日期進行選擇更有效的方法。

解決方案在於利用 INSERTED 虛擬表,該表提供對觸發事件期間插入的值的存取。以下是一個簡潔的SQL Server 觸發器,它將新的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
登入後複製

此觸發器有效地捕獲新行的資料並將其插入到yourDestinationTable 中。 INSERTED 表可讓您直接存取插入的值,確保準確性和效能。

以上是如何使用觸發器高效率地將新行值從一個 SQL Server 表插入到另一個 SQL Server 表中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板