سبد خرید 0

وبلاگ

تفاوت بین DELETE و TRUNCATE در SQL SERVER

دستور Delete :

از دستور Delete برای حذف رکورد های جداول استفاده می  شود .
شکل این دستور به صورت زیر  می باشد :

بخش Where در دستور Delete اختیاری می باشد و می توان از نوشتن آن صرف نظر کرد .اگر بخش where را  از دستور Delete حذف کنیم ، تمامی رکورد های جدول مورد نظر را حذف می کند و در حالتی که  بخش where را بنویسیم حذف رکورد ها فقط محدود به شرط مورد نظر می شود .

مثال های از  Delete :

برای حذف یک کارمند با  شماره Id=100 از جدول Employee  دستور delete به صورت زیر می باشد  :

و برای حذف کل رکورد های رکورد های Employee دستور Delete مانند دستور قبل می باشد فقط با این تفاوت که بخش where حذف می شود

 دستور Truncate :

از دستور Truncate برای حذف تمامی رکورد های از یک جدول استفاده  می شود  و فضای اختصاص داده شده به دیتاهای آن جدول را آزاد می کند.

ساختار دستور Truncate به صورت زیر می باشد :

مثال های از دستور  Truncate به صورت زیر می باشد .

 دستور فوق باعث حذف تمامی رکوردهای جدول Employee می شود .

تفاوت های  دستور Truncate با دستور Delete :

دستور Delete :
این دستور در حالتی که دارای بخش where باشد  فقط رکوردهایی از جدول را حذف می کند  در غیر اینصورت  تمامی رکوردهای جدول را حذف می کند . اما فضاهای اختصاص داده شده به رکورد های اختصاص یافته آزاد نمی شود .
دستور Truncate :
از این دستور هم برای حذف تمامی رکوردهای جداول استفاده می شود با این تفاوت که بعد از حذف فضای اختصاص یافته به داده های آزاد می شود .

تفاوت اول :

آزد سازی حافظه در هنگام حذف رکوردها .

تفاوت دوم  :
بعد از  دستور Delete  می توان  از commit  یا rollback  جهت اینکه تغییرات اعمل شود و یا داده های حذف شده  را undo کنیم .
با commit تغییرات انجام شده را نهایی می کنیم و یا اگر نیاز به بازگشت داده ها باشد می توان از Rollback استفاده کرد . قطعه کد sql  زیر نحوه کارکرد commit را نشان می دهد :

در هنگام استفاده از  Truncate نمی توان از دستور Roll back جهت بازگرداندن تغییرات استفاده کرد
دستور Drop :
از این دستور برای حذف جداول از یک دیتابیس استفاده می شود . همه ی رکوردهای جدول و ایندکس هایی که بر روی آن جدول اضافه شده اند حذف خواهند شد . و برای بازگرداندن به عقب نمی توان از دستور Roll back استفاده نمود .
مثالی در این زمینه :

 

اشتراک گذاری:

مطالب زیر را حتما مطالعه کنید

دیدگاهتان را بنویسید

keyboard_arrow_up