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

نام تاپیک: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

  1. #1

    راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    با سلام.

    دوستان من میخواستم اطلاعاتی که در Table1 توسط کاربران اینسرت میشه رو در یک تیبل دیگه با عنوان Table 2 داشته باشم تا در صورتی که کاربر در Table1 رکوردی رو حذف یا تغییر داد من نسخه اصلی اون رکورد رو در table2 خودم داشته باشم تا بتونم بفهمم چیو تغییر دادن.
    برای این مورد آیا من باید یک stored producere داشته باشم که به طور خودکار هر رکوردی که اینسرت میشه رو به جدول دوم هم منتقل کنه؟؟؟؟؟
    اگه راه حلش همین stored producere هست میشه راهنمایی کنید که چطور میتونم stoerd producere بنویسم که فیلدهای مد نظر من رو از جدول اصلی بگیره و در جدول دوم هم ذخیره کنه
    چون من یک چنین چیزی نوشتم.اما وقتی در جدول TABLE1 اطلاعات وارد کردم چیزی وارد جدول Table2 وارد نشد.

    create Procedure [dbo].[Save_Record] @id INT,@radif smallint,@Code_KALA varchar(17),@quantity decimal(18,4)
    AS
    Insert Into Table2 (id,radif,Code_KALA,QUANTITY)
    select Id,Radif,Code_KALA,QUANTITY
    From Table1
    لطفا راهنمایی کنید

  2. #2

    نقل قول: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    سلام

    اگه به کد دسترسی دارید . همون موقع اینسزت همزمان رکورد رو توی جدول دوم هم اینسرت کنید

  3. #3

    نقل قول: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    نقل قول نوشته شده توسط modirforoosh مشاهده تاپیک
    سلام

    اگه به کد دسترسی دارید . همون موقع اینسزت همزمان رکورد رو توی جدول دوم هم اینسرت کنید
    خب ممنون میشم بگید چه جوری باید این کار رو انجام بدم

  4. #4

    نقل قول: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    ببخشید کسی نمیتونه راهنماییم کنه؟؟؟؟

  5. #5
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    سلام
    در مورد Trigger تحقیق کنید

  6. #6
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,170

    نقل قول: راهکار برای ذخیره اطلاعات یک جدول در جدول دیگر

    سلام

    من سعی میکنم این کار رو نکنم چون حجم اطلاعات خیلی بالا میره. خب پیشنهاد میکنم ابتدا اطلاعات جدید تنها در Table1 ذخیره بشند و هر زمان که اطلاعات حذف و یا ویرایش شدند اقدام به نگهداری اطلاعات Original کنید.

    پیشنهاد میکنم برای عملیات Delete یک ستون با عنوان Deleted به جدول اضافه کنید تا در صورت حذف اطلاعات توسط کاربر، تنها این گزینه فعال بشه و در سراسر برنامتون با اطلاعاتی کار کنید که مقدار Deleted اون هنوز 0 هستش. خب تا اینجا بدون نیاز به جدول دوم از حذف اطلاعات جلوگیری کردیم و نیاز کاربر را هم برآورده کردیم. در واقع ردیف مورد نظر کاربر از نظر کاربر حذف شد و دیگر قابل مشاهده نیست و هر زمان که Admin برنامه بخواد میتونه با تغییر مقدار Deleted به 0 مجددا اون ردیف را در دسترس قرار بده.

    اما برای شرایطی که باید ویرایش انجام بشه. شما میتونید در دستورات Update قبل از اینکه اقدام به Update بکنید ابتدا ردیف مورد نظر را Select کنید و در جدول دوم Insert کنید (در واقه نسخه Original در گام اول در جایی نگهداری میشه) و بعد در اداه دستور اقدام به ویرایش ردیف مورد نر کنید. با این کار از ثبت ردیف های تکراری جلوگیری میشه. فرض کنید در جدوا اول 1000 ردیف ثبت کرده اید و تنها 5 تا از اونها Delete و 20 از اونها Update شده. با این کار در جدول دوم شما تنها 20 ردیف ثبت کرده اید و نه 1000 ردیف. البته این روش میتونه برای Delete هم استفاده بشه. و خوبی این روش اینه که یک ردیف تا nبار هم که ویرایش بشه شما براحتی تمام مراحل تغییرات را میتونید ذخیره کنید.

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

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