javad3151
دوشنبه 12 تیر 1385, 19:18 عصر
سلام
در یک دیتابیس (یه سیستم دانشجویی) یک تیبل اصلی هست و 20 تا تیبل دیگه هم به اصلی لینک هستند . چطور میشه یه تریگر نوشت که هر وقت در هر کدام از رکوردها تغییری(آپدیت) اتفاق افتاد نام یوزر و تاریخ تغییرات (یه تیبل مخصوص همین کار دیده شده)را ذخیره کنه؟؟؟
من 3 تریگر به این صورت نوشتم:
ALTER trigger [sheet_delete]
on [dbo].[sheet1]
for delete as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'De lete')
ALTER trigger [sheet_update]
on [dbo].[sheet1]
for update as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'Up date')
ALTER trigger [sheet_insert]
on [dbo].[sheet1]
for insert as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'In sert')
ولی مشکل داره مثلا وقتی رکوردی رو حذف می کنه نمی دونم کدوم رکورد بوده (کد رو برنمیگردونه) در ضمن نمی دونم چطور باید نام یوزر یا مثلا آدرس ipیوزر رو گرفت
در یک دیتابیس (یه سیستم دانشجویی) یک تیبل اصلی هست و 20 تا تیبل دیگه هم به اصلی لینک هستند . چطور میشه یه تریگر نوشت که هر وقت در هر کدام از رکوردها تغییری(آپدیت) اتفاق افتاد نام یوزر و تاریخ تغییرات (یه تیبل مخصوص همین کار دیده شده)را ذخیره کنه؟؟؟
من 3 تریگر به این صورت نوشتم:
ALTER trigger [sheet_delete]
on [dbo].[sheet1]
for delete as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'De lete')
ALTER trigger [sheet_update]
on [dbo].[sheet1]
for update as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'Up date')
ALTER trigger [sheet_insert]
on [dbo].[sheet1]
for insert as
insert into r_change(userid,change_mode)values(@@IDENTITY,N'In sert')
ولی مشکل داره مثلا وقتی رکوردی رو حذف می کنه نمی دونم کدوم رکورد بوده (کد رو برنمیگردونه) در ضمن نمی دونم چطور باید نام یوزر یا مثلا آدرس ipیوزر رو گرفت