خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه TRUNCATE کردن جدول در SQL Server

نحوه TRUNCATE کردن جدول در SQL Server
در این پست تصمیم داریم در مورد TRUNCATE TABLE صحبت کرده و با نحوه استفاده و بکارگیری آن آشنا شویم. عبارت TRUNCATE TABLE تمامی رکوردهای یک جدول در SQL Server را به کلی حذف می کند. عملکردی مشابه DELETE داشته و بدون استفاده از WHERE مورد استفاده قرار می گیرد.

نرم افزار سامانه مودیان راهکار
اگر قصد truncate کردن Table ای را دارید، به موارد زیر باید دقت کنید.


با truncate کردن یک Table تمامی ستون های identity ریست خواهند شد.
اگر جدولی دارای Foreign Key باشد و با Foreign Key بدان رفرنس شده، نمی توانید آن را truncate کنید.
برای truncate کردن یک table باید امتیازات و دسترسی های لازم، حداقل ALTER TABLE را داشته باشید.
Truncate کردن یک جدول و حذف کامل رکوردهای به طوری که جدول کامل ریست می شود، خیلی ساده تر از DROP کردن یک جدول و ایجاد کردن دوباره آن است.
حالا قصد داریم از عبارت TRUNCATE TABLE در یک مثال استفاده کنیم که خیلی ساده می توانید از آن استفاده کنید:

TRUNCATE TABLE employees;

خب، به جای employees شما می توانید نام جدول خود را جایگزین کنید. بدین ترتیب همه رکوردهای این جدول به یک باره از بین خواهد رفت.

یکی از سوالات متداول در خصوص TRUNCATE TABLE این است که آیا می توانیم TRUNCATE TABLE را rollback کنیم.
یک عبارت TRUNCATE TABLE با استفاده از transaction می تواند rollback شود. به مثال زیر دقت کنید.

CREATE TABLE test_table (column1 int);

INSERT INTO test_table VALUES (1);
INSERT INTO test_table VALUES (2);
INSERT INTO test_table VALUES (3);

-- Create a transaction
BEGIN TRAN;

-- Truncate table
TRUNCATE TABLE dbo.test_table;

-- Rollback truncate table
ROLLBACK;

SELECT * FROM test_table;

در SELECT فوق همانطور که مشاده می کنید، هیچ رکوردی حذف نشده و همه چیز سر جای خودش است چرا که فرآیند TRUNCATE TABLE به طور کامل rollback شد.

column1
----------
1
2
3


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز