TRUNCATE TABLE স্টেটমেন্ট SQL সার্ভারের একটি টেবিল থেকে সমস্ত রেকর্ড মুছে ফেলার জন্য ব্যবহার করা হয়৷ এই কমান্ডটি DELETE কমান্ডের মতই কাজ করে কিন্তু WHERE ক্লজ ছাড়াই।
SQL সার্ভারে TRUNCATE TABLE কমান্ডের সিনট্যাক্স
<প্রে> ছেঁড়া টেবিল [দশ_CSDL.] [ten_schema.] ten_bang
[ WITH (PARTITIONS (so_phanvung
) | so _phanvung TO so _p
| so _phanvung TO so _p
hanvung)]; ভেরিয়েবল নাম বা পরিবর্তনশীল মান
ten_CSDL৷
এটা আপনার উপর নির্ভর করে। যদি নির্দিষ্ট করা থাকে, এটি ডাটাবেসের নাম।
ten_scheme৷
বিকল্প৷ এটি সেই স্কিমার নাম (স্কিমা বা নেমস্পেস হিসাবে অনুবাদ করা) যে টেবিলটি অন্তর্গত৷
ten_bang৷
যে টেবিলটি আপনি রেকর্ড মুছতে চান।
(PARTITIONS এর সাথে (so_phanvung | so _phanvung TO so _phanvung)
ঐচ্ছিক এবং শুধুমাত্র একটি পার্টিশন টেবিলের সাথে ব্যবহার করা যেতে পারে৷ নির্দিষ্ট করা থাকলে, so_phanvung হল সেই অঞ্চলের সংখ্যা যা আপনি এই টেবিলে মুছতে চান। একাধিক জোন মুছে ফেলতে, আলাদা মান বা সংখ্যাগত পার্টিশন মানগুলির পরিসরে কমা ব্যবহার করুন। আপনি যদি এই ধারাটি একটি অ-বিভাজনযুক্ত টেবিলের সাথে ব্যবহার করেন, তাহলে SQL সার্ভার একটি ত্রুটি রিপোর্ট করবে। এই বৈশিষ্ট্যটি SQL সার্ভারের সমস্ত সংস্করণে উপলব্ধ নয়৷
৷দ্রষ্টব্য
- যদি আপনি টেবিলের সমস্ত রেকর্ড মুছে ফেলেন, প্রতিটি ইন্ডেন্টিটি কলামের কাউন্টারটি শুরু থেকে পুনরাবৃত্তি করা হবে৷
- বিদেশী কী দ্বারা উল্লেখ করা টেবিলের সমস্ত রেকর্ড মুছে ফেলা যাবে না।
- টেবিলের পুরো রেকর্ডটি মুছে ফেলার আগে, এটিকে অবশ্যই ALTER TABLE হিসাবে অগ্রাধিকার দিতে হবে।
উদাহরণস্বরূপ
SQL সার্ভারে, যদি আপনাকে ডেটা পুনরুদ্ধার করতে না হয় তবে পুরো রেকর্ডটি মুছে ফেলা দ্রুততম উপায়। যদি টেবিলটি ছিন্ন করা হয়, তাহলে সারি মুছে ফেলা রেকর্ড করা হবে না তাই এটি পূর্ববর্তী অপারেশনে ফেরত যাবে না। ড্রপ কমান্ডের সাহায্যে একটি টেবিল মুছে ফেলা বা CREATE দিয়ে একটি নতুন তৈরি করার চেয়েও TRUNCATE সহজ৷ নিচের উদাহরণটি দেখুন।
<প্রে> ছেঁড়া টেবিল;এই উদাহরণটি টেবিলের সমস্ত রেকর্ড মুছে দেবে৷
উপরের কমান্ডটি নীচের DELETE কমান্ডের সমতুল্য৷
nhanvien থেকে মুছে ফেলুন;
এই উভয় কমান্ডই টেবিলের সমস্ত ডেটা মুছে দেয়। পার্থক্য হল DELETE কমান্ডের সাহায্যে আপনি মুছে ফেলার আগে অপারেশনে ফিরে যেতে পারেন যদি আপনি TRUNCATE-এর সাথে থাকতে চান।
ডাটাবেসের নামের সাথে আরেকটি উদাহরণ দেখা যাক।
TRUNCATE TABLE totn.danhba;
এই উদাহরণটি totn নামের ডাটাবেসের সমস্ত তালিকা এন্ট্রি মুছে দেয়৷
উদাহরণস্বরূপ পার্টিশন সহ
আপনি যদি 1 বা 1 অঞ্চলের রেকর্ড মুছে ফেলতে চান, তাহলে WITH PARTITIONS ক্লজের সাথে TRUNCATE TABLE কমান্ডটি ব্যবহার করুন৷
টেবিল ছাঁটান
(পার্টিশন (1 থেকে 5, 7));
এই উদাহরণে, টেবিলটি একটি পার্টিশন টেবিল এবং TRUNCATE TABLE বিবৃতিটি এই টেবিলের 1 থেকে 5 এবং জোন 7 পর্যন্ত আঞ্চলিক রেকর্ড মুছে দেবে৷
প্রায়শই জিজ্ঞাসিত প্রশ্ন
প্রশ্ন: SQL সার্ভারে TRUNCATE TABLE কমান্ড কার্যকর করার পরে আমি কি ডাটাবেসকে পুরানো অবস্থায় (রোলব্যাক) ব্যাক আপ করতে পারি?
উত্তর:The TRUNCATE TABLE কমান্ড লেনদেন ব্যবহার করে রোল ব্যাক করা যেতে পারে। নিচের উদাহরণ।
তৈরি করুন TABLE bang_test (cot1 int);
INSERT INTO bang_test VALUES (1);
INSERT INTO bang_test VALUES (2);
INSERT INTO bang_test VALUES (3);
-- Tạo chuyển tiếp
BEGIN TRAN;
-- Xóa bản ghi trong bảng
TRUNCATE TABLE dbo.bảng_test;
-- Rollback bảng đã xóa bản ghi
ROLLBACK;
SELECT * FROM bang_
পরীক্ষা
উপরের SELECT বিবৃতি নীচের রেকর্ডের ফলাফল প্রদান করবে৷
cot1
----------
1
2
3
এইভাবে, ডাটাবেস অবস্থা পুরানো অবস্থায় পুনরুদ্ধার করা হয়েছে এবং 3টি রেকর্ড স্টেট_টেস্টে রয়ে গেছে।