使用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中文網其他相關文章!