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

نام تاپیک: پاک کردن رکورد های تکراری

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    پاک کردن رکورد های تکراری

    من با استفاده از فایل های csv اطلاعات را بین بانک ها export و import می کنم.مشکل اینه که در بعضی مواقع رکورد تکراری وجود داره و دوحالت در اینجا پیش می یاد:
    1-اگه من برای جدولم کلید تعیین کنم که اصلا اجازه ورود هیچ رکوردی را نمی ده.
    2-اگه کلید نگذارم مشکل تکراری بودن رکوردها پیش می یاد.در اینصورت این رکوردهای تکراری را چجوری پاک کنم.

    یه سوال دیگه اینکه استفاده از csv بهتره یا از xml استفاده کنم.اگه xml بهتره روش خروجی گرفته باهاش چیه؟

  2. #2

    نقل قول: پاک کردن رکورد های تکراری

    نقل قول نوشته شده توسط 5mmmmm مشاهده تاپیک
    1-اگه من برای جدولم کلید تعیین کنم که اصلا اجازه ورود هیچ رکوردی را نمی ده.
    2-اگه کلید نگذارم مشکل تکراری بودن رکوردها پیش می یاد.در اینصورت این رکوردهای تکراری را چجوری پاک کنم.
    کلید یکتای ترکیبی هم امتحان کرده اید؟ منظورم Composite Unique Key Constraint است.
    http://www.barnamenevis.org/sh...d.php?t=179752
    وبلاگ من (Advanced SQL Querying)

  3. #3

    نقل قول: پاک کردن رکورد های تکراری

    پست قبلی را نادیده بگیرد،
    برای حذف سطرهای تکراری از یک جدول:
    http://www.simple-talk.com/sql/t-sql...in-sql-server/

    یک راه ساده این است که از group by تمام ستون هایتان استفاده کنید. سپس نتیجه را در یک جدول وقت ذخیره کرد و جدول اصلی را truncate table کنید سپس سطرهای جدول موقت را در جدول اصلی درج کنید.
    وبلاگ من (Advanced SQL Querying)

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    نقل قول: پاک کردن رکورد های تکراری

    ممنون
    با distinct هم میشه رکوردهای غیر تکراری را پیدا کرد اونها را داخل جدول دیگه ریخت.ولی جدول اصلی را چکار کنم؟
    truncate table??
    به چه صورت انجام میشه؟

    یه سوال دارم.bulk insert با فایل های xml هم کار میکنه؟

  5. #5

    نقل قول: پاک کردن رکورد های تکراری

    نقل قول نوشته شده توسط 5mmmmm مشاهده تاپیک
    ممنون
    با distinct هم میشه رکوردهای غیر تکراری را پیدا کرد اونها را داخل جدول دیگه ریخت.ولی جدول اصلی را چکار کنم؟
    truncate table??
    به چه صورت انجام میشه؟

    یه سوال دارم.bulk insert با فایل های xml هم کار میکنه؟
    مهم نیست که با Distinct هم می شود این کار را کرد. در واقع distinct و group by برای خلاصه سازی اطلاعات مورد استفاده قرار می گیرند!


    TRUNCATE TABLE table_name


    در مورد bulk insert اطلاعات خوبی ندارم.
    وبلاگ من (Advanced SQL Querying)

  6. #6

    نقل قول: پاک کردن رکورد های تکراری

    در لينک زير به دنبال عبارت Bulk Exporting or Importing SQLXML Documents بگرديد و از انجا به بعد را مطالعه کنيد

    http://msdn.microsoft.com/en-us/library/ms188365.aspx

    ضمنا TRUNCATE TABLE دقيقا شبيه دستور delete بدون شرط است, اما داراي سرعت بالاتري نسبت به delete مي باشد.

    http://msdn.microsoft.com/en-us/libr...1(SQL.80).aspx

  7. #7

    نقل قول: پاک کردن رکورد های تکراری

    سرعت بالای حذف سطرها با کمک دستور TRUNCATE TABLE به دلیل داشتن حداقل عملیات LOG است.
    وبلاگ من (Advanced SQL Querying)

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    نقل قول: پاک کردن رکورد های تکراری

    بعد از bulk insert یه علامت کاما در ستون آخر بعد از دیتا قرار میده.چون این کاما باعث ایجاد مشکل در ویرایش و حذف میشد بعد از bulk insert یکبار کل جدول ستون آخرش را ویرایش می کردم و این علامت , (کاما) را بر می دارم.راه بهتری نیست؟

    اگر نیاز است تا کد export to csv را بگذارم.خودم نوشتمش!

  9. #9
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    نقل قول: پاک کردن رکورد های تکراری

    با اینکه دوستان راه حذف رکورد های تکراری را گفتند مسئله کلید به قوت خود باقیه!!!
    من نمی تونم کلید را بر دارم و با وجود کلید برای bulk insert باید ابتدا کل سطرهای قدیمی را حذف کرد و بعد bulk insert کرد.آیا راهی هست با وجود کلید بشه رکورد تکراری وارد کرد؟

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    اصفهان
    پست
    56

    نقل قول: پاک کردن رکورد های تکراری

    فکر کنم یکی از راه ها ریختن bulk insert در یک جدول موقت بی کلید و سپس ریختن سطرهای جدول اصلی در همین جدول موقت،حذف رکوردهای تکراری و سپس ریختن داده های نهایی در جدول اصلی کلید دار می باشد!!!

    این راه درسته و آیا راه دیگه ای هم هست؟

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

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