首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 觸發器中檢索插入的行值以進行跨表資料插入?

如何在 SQL Server 觸發器中檢索插入的行值以進行跨表資料插入?

DDD
發布: 2025-01-05 10:45:44
原創
650 人瀏覽過

How to Retrieve Inserted Row Values in a SQL Server Trigger for Cross-Table Data Insertion?

在 SQL Server 觸發器中檢索插入的行值以進行跨表插入

從 aspnet_users 中的新行插入 user_id 和user_name將一個表插入另一個表,可以使用觸發器

獲取最後插入的行值

傳統上,檢索最後插入的行值涉及根據最新的date_created 選擇行,這可能不可靠。相反,SQL Server 提供了「插入」偽表,其中包含觸發插入的行資料。

觸發器實作

以下觸發器「yourNewTrigger」可以在「yourSource Table」上建立以捕獲插入

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
登入後複製

說明

  • 「插入」偽表提供對插入行資料的存取。
  • 欄位「 col1」和「col2」填入固定值。
  • 「col3」保持為空如果來源表中未指定。
  • 從插入的行中提取「user_id」和「user_name」。
  • 插入的值將插入到「yourDestinationTable」中。

透過利用「inserted」偽表,觸發器可以有效地檢索最後插入的行值,從而實現使用者特定的跨表插入資訊。

以上是如何在 SQL Server 觸發器中檢索插入的行值以進行跨表資料插入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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