نمایش نتایج 1 تا 4 از 4

نام تاپیک: چک کردن وجود یک ایتم قبل از درج در تریگر

  1. #1

    Question چک کردن وجود یک ایتم قبل از درج در تریگر

    سلام.. من دو تا جدول دارم که فرض کنید اسمش یکیش هست A و دیگری B.میخوام وقتی یه رکورد به جدول A اضافه میشه همون رکورد با کمی تغییرات به B هم اضافه بشه.ولی میخوام قبل از اینکه به B اضافه بشه , چک کنه ببینه این رکورد قبلا" وجود داره یا نه.چون این چک کردن وجود ایتم , باید بعد از درج در A و قبل از درج در B انجام بشه نمیدونم چطوری این چک کردن رو انجام بدم؟

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن وجود یک ایتم قبل از درج در تریگر

    نقل قول نوشته شده توسط تبسم ساینا مشاهده تاپیک
    سلام.. من دو تا جدول دارم که فرض کنید اسمش یکیش هست A و دیگری B.میخوام وقتی یه رکورد به جدول A اضافه میشه همون رکورد با کمی تغییرات به B هم اضافه بشه.ولی میخوام قبل از اینکه به B اضافه بشه , چک کنه ببینه این رکورد قبلا" وجود داره یا نه.چون این چک کردن وجود ایتم , باید بعد از درج در A و قبل از درج در B انجام بشه نمیدونم چطوری این چک کردن رو انجام بدم؟
    سلام
    مشابه این پرسش بارها انجام شده، این کار رو می‌تونی به راحتی با Trigger انجام بدی.
    اول این که Trigger وقتی فعال می‌شه که رکورد شما در جدول A درج شده ( همونطوری که می‌خواستی )
    و همون‌جا می‌تونی در صورت عدم وجود اون سطر در جدول B، اون رو اضافه کنی.
    و برای چک کردن، کافیه جدول inserted رو با جدول B بررسی کنی ( Left Outer Join )

    اگه برنامه‌ی سه لایه داری، انجام این کار تو لایه‌ی business از نظر من به‌تر از اینه که تو Trigger انجام بشه.

    صبا صبوحی

  3. #3

    نقل قول: چک کردن وجود یک ایتم قبل از درج در تریگر

    مشکل اینه که درج در جدول A در تریگر انجام نمیشه و طی یه استور پروسیجر انجام میشه.چجوری میتونم به ItemName جدول A درحالی که در یه استور پروسیجر اضافه شده , دسترسی پیدا کنم و join انجام بدم ؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: چک کردن وجود یک ایتم قبل از درج در تریگر

    نقل قول نوشته شده توسط تبسم ساینا مشاهده تاپیک
    مشکل اینه که درج در جدول A در تریگر انجام نمیشه و طی یه استور پروسیجر انجام میشه.چجوری میتونم به ItemName جدول A درحالی که در یه استور پروسیجر اضافه شده , دسترسی پیدا کنم و join انجام بدم ؟
    سلام
    از پاسخ شما روشن هست که شناختی نسبت به Trigger نداری، این مبحث رو لازمه که کامل مطالعه کنی.
    اگه این مبحث رو خوب یاد بگیری، مطمئن باش که به راحتی می‌تونی از این دست کارها رو انجام بدی

    الان فقط می‌تونم این رو بهت بگم که یک جدول مجازی به نام inserted داخل trigger در دسترس هست که مقادیر اضافه شده به جدول
    رو نگهداری می‌کنه. همونطور که تو پست قبلی بهت گفتم اگه این جدول رو با جدول B به صورت left outer join ارتباط بدی، می‌تونی سطرهایی
    که در جدول B نیستن رو شناسایی کنی، و باز با مقادیر همین inserted اون‌ها رو پر کنی. ( کل قضیه فقط نیاز به یک فرمان insert داره، نه بیشتر )
    یه چیزی تو این مایه‌ها:

    INSERT INTO B
    SELECT i.Id, i.Column1, i.Column2, i.Column3
    FROM Inserted i
    LEFT OUTER JOIN b on b.Id = i.Id
    WHERE b.Id is NULL

    به همین راحتی

    صبا صبوحی

تاپیک های مشابه

  1. سوال: چک کردن وجود فایل قبل از آپلود فایل توسط control file upload
    نوشته شده توسط mis.shima در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: یک شنبه 12 بهمن 1393, 07:53 صبح
  2. پاسخ: 2
    آخرین پست: شنبه 05 فروردین 1391, 22:16 عصر
  3. چک کردن وجود Alias
    نوشته شده توسط MFCGalaxy در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: چهارشنبه 14 مرداد 1383, 15:05 عصر
  4. چک کردن وضعیت چند باتون قبل از خروج
    نوشته شده توسط Gladiator در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: یک شنبه 11 آبان 1382, 22:53 عصر
  5. چک کردن وجود جدول در بانک اطلاعاتی
    نوشته شده توسط v_shalchian در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 30 شهریور 1382, 10:01 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •