PDA

View Full Version : مبتدی: فرق delete و truncate



mona11
یک شنبه 24 آبان 1388, 12:04 عصر
با سلام خدمت اساتید.میخواستم فرق delete و truncate رو بدونم.یه مثالم اگه میشه بزنید.

amin_alexi
یک شنبه 24 آبان 1388, 12:33 عصر
سلام
TRUNCATE TABLE شبيه Delete From (كه شرط Where نداره) و تمام اطلاعات جدول رو پاك مي كنه
فرقشون اينه كه Delete سطرها پاك شده را در log File ذخيره مي كنه (ثبت عمليات در log File انجام ميشه) ولي truncate چيزي ثبت نمي كنه
Truncate سريعتر عمل مي كنه !

Reza.ariyan
یک شنبه 24 آبان 1388, 14:07 عصر
علاوه بر مطالبی که دوستمون گفتن : با دستور Trancate کل اطلاعات جدول پاک شده . فیلد های Identity نیز Reset میشوند و مقدار شمارنده آنها از 1 شروع میشود
ولی در دستور Delete اینگونه نیست و شمارنده فیلد Identity از آخرین مقدار قبلی +1 شروع میشود
همین

محمد سلیم آبادی
دوشنبه 25 آبان 1388, 19:03 عصر
دستور Truncate table در مواردی که به ستون یا ستونهایی از جدول target ارجاعی صورت گرفته باشد عمل نخواهد کرد و پیغامی با محتوای "به جدول ارجاع شده است توسط یک قید کلید خارجی"
برای رفع این مشکل باید قید کلید خارجی را حذف کنیم حتی با disable کردن آن نیز مشکل برطرف نخواهد شد.
بطور مثال اگر ما دو جدول order و customer را در نظر داشته باشیم. می توانیم جدول order را truncate کنیم ولی جدول customer را خیر.