shaghaghi
شنبه 25 خرداد 1387, 13:49 عصر
سلام
جدولی داریم که هنگام Update شدن فیلد های آن توسط کاربر، با کمک یک تریگر اطلاعات رکوردها را قبل و بعد از اعمال دستور Update در جدول دیگری ذخیره می نماییم.
مشکل کار اینجاست که زمانیکه دستور Update بر روی رکوردهای جدول اتفاق می افتد، صرف نظر از اینکه آیا این دستور Update شامل رکورد های محدودی می شود، از تمامی رکورد ها Log گرفته می شود (ملاک کار Affected شدن هر رکورد است نه به روز شدن واقعی آن رکورد)
به همین خاطر تعداد کثیری از اطلاعات رکوردها جدول Log مان بی اساس هستند، چون آن رکوردها فقط Affect شده اند نه Update!!
به نظر می رسد ریشه ی اصلی این مشکل از اینجا ناشی می شود که نمی توان از طریقی بررسی کرد که اگر اطلاعات قبل و بعد از تغییر که در دو جدول Inserted و Deleted نوشته می شوند یکسان هستند (به این معنی که اتفاقی بر روی اطلاعات رکورد نیافتاده است) در نوشتن Log استثناء شوند.
ممنون می شوم اگر راهکاری را پیشنهاد نمایید.
جدولی داریم که هنگام Update شدن فیلد های آن توسط کاربر، با کمک یک تریگر اطلاعات رکوردها را قبل و بعد از اعمال دستور Update در جدول دیگری ذخیره می نماییم.
مشکل کار اینجاست که زمانیکه دستور Update بر روی رکوردهای جدول اتفاق می افتد، صرف نظر از اینکه آیا این دستور Update شامل رکورد های محدودی می شود، از تمامی رکورد ها Log گرفته می شود (ملاک کار Affected شدن هر رکورد است نه به روز شدن واقعی آن رکورد)
به همین خاطر تعداد کثیری از اطلاعات رکوردها جدول Log مان بی اساس هستند، چون آن رکوردها فقط Affect شده اند نه Update!!
به نظر می رسد ریشه ی اصلی این مشکل از اینجا ناشی می شود که نمی توان از طریقی بررسی کرد که اگر اطلاعات قبل و بعد از تغییر که در دو جدول Inserted و Deleted نوشته می شوند یکسان هستند (به این معنی که اتفاقی بر روی اطلاعات رکورد نیافتاده است) در نوشتن Log استثناء شوند.
ممنون می شوم اگر راهکاری را پیشنهاد نمایید.