您好,登錄后才能下訂單哦!
在C#中,觸發器是一種特殊的存儲過程,它會在數據庫表上發生特定事件(如插入、更新或刪除)時自動執行
首先,創建一個名為Triggers
的示例數據庫表:
CREATE TABLE Triggers (
Id INT PRIMARY KEY,
TableName NVARCHAR(128),
Action NVARCHAR(10),
TriggerTime NVARCHAR(10)
);
接下來,創建一個觸發器:
CREATE TRIGGER trg_AfterInsert_Triggers
ON Triggers
AFTER INSERT
AS
BEGIN
INSERT INTO Triggers (Id, TableName, Action, TriggerTime)
VALUES (NEWID(), 'Triggers', 'INSERT', GETDATE());
END;
現在,我們將使用C#和ADO.NET來執行參數化查詢,以便向Triggers
表中插入數據并觸發觸發器。
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string connectionString = "your_connection_string_here";
string tableName = "Triggers";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// 插入數據到Triggers表
string insertSql = "INSERT INTO " + tableName + " (Id, TableName, Action, TriggerTime) VALUES (@Id, @TableName, @Action, @TriggerTime)";
SqlCommand command = new SqlCommand(insertSql, connection);
command.Parameters.AddWithValue("@Id", Guid.NewGuid());
command.Parameters.AddWithValue("@TableName", tableName);
command.Parameters.AddWithValue("@Action", "INSERT");
command.Parameters.AddWithValue("@TriggerTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
command.ExecuteNonQuery();
Console.WriteLine("數據已插入,觸發器已觸發。");
}
}
}
在這個示例中,我們首先連接到數據庫,然后使用參數化查詢向Triggers
表插入一條新記錄。當這條記錄被插入時,我們之前創建的觸發器將自動執行,將新記錄插入到相同的表中。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。