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

نام تاپیک: خطا در استفاده از TRUNCATE TABLE

  1. #1
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,023

    خطا در استفاده از TRUNCATE TABLE

    با سلام
    TRUNCATE TABLE News_Cities

    چرا جداول بعضی اوقاط خطا کلید میدهد
    because it is being referenced by a FOREIGN KEY constraint.

    در صورتی که من از ID استفاده نمی کنم در جایی

  2. #2

  3. #3
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,023

    نقل قول: خطا در استفاده از TRUNCATE TABLE

    چرا دیاگرام داره

  4. #4

  5. #5
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,023

    نقل قول: خطا در استفاده از TRUNCATE TABLE

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

  6. #6

    نقل قول: خطا در استفاده از TRUNCATE TABLE

    سلام.
    شما وقتی دارید از Foreign key استفاده میکنید نمیتوانید از دستور Truncate استفاده کنید. دوکار میتوانید انجام دهید.
    یا با استفاده از دستور Alter ابتدا Foreign key رو حذف کرده بعد دستور Truncate رو اجرا کنید.
    یا اینکه از دستور Delete استفاده کرده و اگر یکی از فیلدهاتون از نوع Identity هست با استفاده از دستورات DBCC ChekIdent مقدار اونو Reset کنید.

  7. #7
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,023

    نقل قول: خطا در استفاده از TRUNCATE TABLE

    برای تکمیل پست.
    معرفی دستور DELETE:

    با این دستور حتما آشنا هستید. این دستور استاندارد جهت حذف اطلاعات (یا به عبارت درست تر، داده ها) از یک جدول استفاده می شود.
    کاربرد این دستور معمولا به دو شکل زیر می باشد.

    1. DELETE FROM MyTable
    2. DELETE FROM MyTable WHERE ID < 100


    در کاربرد نوع اول، تمام داده های موجود در جدول MyTable حذف شده و در دستور دوم فقط داده هایی حذف می شوند که شرط مورد نظر در مورد آن ها برقرار باشد.
    معرفی دستور TRUNCATE:

    دستور TRUNCATE یک دستور غیر استاندارد می باشد که جهت حذف تمامی داده های موجود در جدول استفاده می شود.
    کاربرد این دستور به شکل زیر می باشد.
    TRUNCATE TABLE MyTable

    مقایسه دستورات DELETE و TRUNCATE:


    • دستور TRUNCATE بر خلاف دستور DELETE نمی تواند دارای شرط باشد. به عبارت دیگر شما نمی توانید عبارت WHERE را همراه این دستور بکار ببرید.
    • دستور TRUNCATE به صورت کمینه (Minimally) لاگ می شود در حالیکه دستور DELETE به صورت کامل لاگ می شود. بنابراین دستور TRUNCATE بسیار سریع تر از دستور DELETE عمل می کند. به طوریکه اگر جدول مورد نظر شامل میلیون ها رکورد باشد، با استفاده از دستور TRUNCATE ظرف چند ثانیه کل داده ها حذف می شوند در صورتی که با استفاده از دستور DELETE این عمل می تواند دقیقه ها و حتی ساعت ها طول بکشد.
    • اگر جدول ما حاوی فیلدی از نوع Identity باشد، پس از اجرای دستور TRUNCATE مقدار این فیلد Reset شده و به مقدار اولیه خود برمی گردد، در حالی که در مورد دستور DELETE چنین نیست.
    • اگر جدولی که قصد داریم داده های آن را حذف کنیم، توسط جداول دیگر ارجاع گرفته شده باشد یعنی فیلد کلید اصلی این جدول در جداول دیگری به عنوان کلید خارجی مورد استفاده قرار گرفته باشد، دیگر نمی توان از دستور TRUNCATE جهت حذف داده های این جدول استفاده نمود. حتی اگر جداول دیگر خالی بوده باشند و یا حتی اگر کلید های خارجی را غیر فعال (Disable) کنیم، باز هم نمی توانیم از دستور TRUNCATE استفاده کنیم و حتما باید روابط (Relations) را حذف کنیم تا بتوانیم از این دستور استفاده بکنیم. به طور مثال اگر جداول Order و OrderDetais را در نظر بگیریم، تا زمانی که بین این دو جدول رابطه وجود دارد، نمی توان دستور TRUNCATE رو روی جدول Order اجرا نمود.

    تذکر مهم:

    با توجه به اینکه دستور TRUNCATE بسیار سریع می باشد، میزان خطر آن به اندازه دستور DROP می باشد و استفاده اشتباه از آن می تواند منجر به فاجعه شود. بنابراین هنگام استفاده از این دستور دقت کافی را داشته باشید.

  8. #8

    نقل قول: خطا در استفاده از TRUNCATE TABLE

    با سلام و خسته نباشید
    از جناب آقای مهندس حمیدرضا صادقیان و همچنین جناب آقای fakhravari از مطالب بسیار مفیدشون واقعا ممنونم
    با تشکر

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

  1. تفاوت استفاده از Ado table و ADOStoredProc ...
    نوشته شده توسط alireza_63 در بخش SQL Server
    پاسخ: 5
    آخرین پست: شنبه 30 آبان 1383, 01:00 صبح
  2. پیغام خطا هنگام استفاده از یک تابع
    نوشته شده توسط mostafa612003 در بخش PHP
    پاسخ: 3
    آخرین پست: یک شنبه 01 شهریور 1383, 11:47 صبح
  3. پیغام خطا در استفاده دینامیک از DLL
    نوشته شده توسط یاسر احسانی در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: جمعه 16 مرداد 1383, 19:10 عصر
  4. خطا در استفاده از response.Redirect در asp
    نوشته شده توسط MOHSEN731 در بخش Classic ASP
    پاسخ: 7
    آخرین پست: شنبه 18 بهمن 1382, 12:23 عصر
  5. خطا در استفاده از کامپوننت
    نوشته شده توسط DataMaster در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: دوشنبه 17 آذر 1382, 18:16 عصر

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

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