View Full Version : ساخت تريگر برای اطلاع از تغییر رکورد
Fire God
شنبه 04 خرداد 1392, 20:40 عصر
برای تصویر زیر می خوام یک تریگر بنویسم که وقتی کاربر جدیدی اضافه شد یا فیلد پکیج آپدیت شد ، فیلدهای نام و موبایل و ایمیل و پکیج در یک جدول دیگر به نام user2 ذخیره بشه /
http://ir2up.ir/up19/e1113694883121.jpg
Salah Sanjabian
شنبه 04 خرداد 1392, 21:21 عصر
دوست عزیز اول باید خودتون تلاشتون رو بکنید اگه نتونستین دوستان جواب میدن این توتریال رو بخونید
http://www.sqlteam.com/article/an-introduction-to-triggers-part-i
Fire God
شنبه 04 خرداد 1392, 21:55 عصر
چیزی نفهمیدم.
کسی میتونه بنویسه ؟
tooraj_azizi_1035
یک شنبه 05 خرداد 1392, 11:27 صبح
سلام
با استفاده از جدول inserted می تونید در trigger رکوردهای درج شده را بدست آورید و در جدول مقصد (TargetTable) درج کنید:
CREATE TRIGGER Purchasing.LowCredit ON Purchasing.PurchaseOrderHeader
AFTER INSERT
AS
insert into TargetTable
select * from inserted
این یکی رو تست نکردم به نظر درست کار میکنه برای Update:
CREATE TRIGGER TR_UpdateNew
ON Users
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @user_id INT
SELECT
@user_id = inserted.UserID
FROM
inserted
INNER JOIN
deleted
ON inserted.PrimaryKey = deleted.PrimaryKey
-- It's an update if the record is in BOTH inserted AND deleted
EXEC UpdateProfile @user_id;
END
GO
tooraj_azizi_1035
یک شنبه 05 خرداد 1392, 19:57 عصر
در کد بالا @user_id کد رکوردی است ک به روز شده. می تونید از اون برای به روز کردن استفاده کنید.
مقادیر جدید رو هم باید با select * from inserted where user_id=@user_id بگیرید و در جدول مقصد تاثیر دهید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.