TRUNCATE TABLE स्टेटमेंट का उपयोग SQL सर्वर में किसी टेबल से सभी रिकॉर्ड्स को हटाने के लिए किया जाता है। यह कमांड DELETE कमांड की तरह ही काम करता है लेकिन WHERE क्लॉज के बिना।
SQL सर्वर में TRUNCATE TABLE कमांड का सिंटैक्स
TRUNCATE TABLE [ten_CSDL.] [ten_schema.] ten_bang
[ WITH (PARTITIONS (so_phanvung
| so _phanvung TO so _p
| so _phanvung TO so _p
hanvung)];
परिवर्तनीय नाम या चर मान
ten_CSDL
यह आप पर निर्भर करता है। यदि निर्दिष्ट किया गया है, तो यह डेटाबेस का नाम है।
टेन_स्कीम
Option. यह उस स्कीमा का नाम है (स्कीमा या नेमस्पेस के रूप में अनुवाद करना) जिससे तालिका संबंधित है।
टेन_बैंग
वह तालिका जिसे आप रिकॉर्ड हटाना चाहते हैं।
साथ (पार्टिशन्स (so_phanvung | so _phanvung TO so _phanvung)
वैकल्पिक और केवल विभाजन तालिका के साथ उपयोग किया जा सकता है। यदि निर्दिष्ट किया गया है, तो so_phanvung उस क्षेत्र की संख्या है जिसे आप इस तालिका में हटाना चाहते हैं। एकाधिक क्षेत्रों को हटाने के लिए, अल्पविराम का उपयोग मानों या संख्यात्मक विभाजन मानों की श्रेणी को अलग करने के लिए करें। यदि आप इस खंड का उपयोग गैर-विभाजित तालिका के साथ करते हैं, तो SQL सर्वर एक त्रुटि की रिपोर्ट करेगा। यह सुविधा SQL सर्वर के सभी संस्करणों में उपलब्ध नहीं है।
नोट
- यदि आप तालिका में सभी रिकॉर्ड हटाते हैं, तो प्रत्येक इंडेंटिटी कॉलम पर काउंटर शुरुआत से दोहराया जाएगा।
- विदेशी कुंजी द्वारा संदर्भित तालिका के सभी रिकॉर्ड हटा नहीं सकते।
- तालिका में पूरे रिकॉर्ड को हटाने से पहले, इसे ALTER TABLE के रूप में प्राथमिकता दी जानी चाहिए।
उदाहरण के लिए
SQL सर्वर में, यदि आपको डेटा पुनर्प्राप्त करने की आवश्यकता नहीं है, तो संपूर्ण रिकॉर्ड को हटाना सबसे तेज़ तरीका है। यदि तालिका TRUNCATE है, तो पंक्तियों को हटाना रिकॉर्ड नहीं किया जाएगा, इसलिए इसे पिछले ऑपरेशन में वापस नहीं किया जा सकता है। TRUNCATE DROP कमांड से टेबल को डिलीट करने या CREATE के साथ एक नया टेबल बनाने से भी आसान है। नीचे दिया गया उदाहरण देखें।
TRUNCATE TABLE;
यह उदाहरण तालिका के सभी रिकॉर्ड हटा देगा।
उपरोक्त कमांड नीचे दिए गए DELETE कमांड के बराबर है।
DELETE FROM nhanvien;
ये दोनों कमांड टेबल के सभी डेटा को डिलीट कर देते हैं। अंतर यह है कि यदि आप TRUNCATE के साथ रहना चाहते हैं तो DELETE कमांड से आप डिलीट करने से पहले ऑपरेशन पर लौट सकते हैं।
आइए डेटाबेस के नाम के साथ एक और उदाहरण देखते हैं।
TRUNCATE TABLE totn.danhba;
यह उदाहरण totn नाम के डेटाबेस में सभी सूची प्रविष्टियों को हटा देता है।
उदाहरण के लिए विभाजन के साथ
यदि आप 1 या 1 क्षेत्र रिकॉर्ड हटाना चाहते हैं, तो TRUNCATE TABLE कमांड का उपयोग विद पार्टिशन क्लॉज के साथ करें।
TRUNCATE TABLE nhanvien
with (PARTITIONS (1 to 5, 7));
इस उदाहरण में, टेबल एक पार्टीशन टेबल है और TRUNCATE TABLE स्टेटमेंट इस टेबल पर 1 से 5 और ज़ोन 7 के क्षेत्रीय रिकॉर्ड्स को हटा देगा।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: SQL सर्वर में TRUNCATE TABLE कमांड को निष्पादित करने के बाद क्या मैं पुरानी स्थिति (रोलबैक) में डेटाबेस का बैकअप ले सकता हूं?
उत्तर:The ट्रांजेक्शन का उपयोग करके TRUNCATE TABLE कमांड को वापस रोल किया जा सकता है। उदाहरण नीचे दिया गया है।
CREATE 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_
test;
उपरोक्त SELECT स्टेटमेंट नीचे दिए गए रिकॉर्ड के परिणाम लौटाएगा।
cot1
----------
1
2
3
इस प्रकार, डेटाबेस स्थिति को पुरानी स्थिति में पुनर्स्थापित कर दिया गया है और 3 रिकॉर्ड State_test पर बने हुए हैं।