ورود

View Full Version : آیا ایجاد تریگر کار درستیه ؟



yavari
سه شنبه 04 اردیبهشت 1386, 13:08 عصر
سلام

فیلد کلید تیبل من باید مجموع دو فیلد دیگم باشه
یعنی مجموع فیلد کد و یه فیلد دیگه که تعداد فعلی کد که تابحال سیو شده رو داره
مشکل اینجاست که میخوام تریگری اضافه کنم که در هنگام درج رکود
TedadCode=COUNT(FiledCOde)+1
TedadCode در فیلد
تعداد رو بریزه و در نهایت
فیلد کلید=TedadCode+FiledCOde

اینم چیزیه که برا تعداد نوشتم اما جواب نمیده :ناراحت:

CREATE TRIGGER [ForRow] ON [dbo].[HadesehMabar]
FOR INSERT
AS
SELECT COUNT(CodeMabar) AS Row
FROM HadesehMabar
GROUP BY Row

ممنون میشم راهنمائی کنید:تشویق:

AminSobati
سه شنبه 04 اردیبهشت 1386, 22:42 عصر
دوست عزیزم فیلد PK نباید به این شکل تغییر پذیر باشه. فرض کنید این فیلد بعنوان Foreign Key در چند جدول دیگه شرکت کنه، حالا با هر تغییری که Trigger شما در مقدار Count بوجود میاره، فیلد PK تغییر میکنه و تمام جداولی که از این فیلد استفاده کردند باید Update بشن

yavari
چهارشنبه 05 اردیبهشت 1386, 07:56 صبح
سلام

حرف شما متین !
اما من چجوری میتونم هنگام درج اطلاعات
TedadCode=COUNT(FiledCOde)+1
رو داشته باشم ؟؟؟

ممنون

AminSobati
چهارشنبه 05 اردیبهشت 1386, 18:43 عصر
این مقدار رو محاسبه کنین و در یک فیلد دیگه Update کنین(داخل Trigger) تا نگهداری بشه

yavari
پنج شنبه 06 اردیبهشت 1386, 08:30 صبح
این مقدار رو محاسبه کنین و در یک فیلد دیگه Update کنین(داخل Trigger) تا نگهداری بشه

سلام

ممنون از توجه تون
میشه روال تریگرو بذارید !!! :خجالت: :خجالت: :خجالت:

AminSobati
پنج شنبه 06 اردیبهشت 1386, 10:00 صبح
شما Count رو به ازای چی باید محاسبه کنین؟ چون Queryی که نوشتین یک گزارش از کل جدول میده، در حالی که شما نیاز دارین یک where اعمال کنین تا فقط یک عدد از این count بدست بیاد.