उस WHERE 1=2
क्लॉज को क्लॉज में डालने का कारण SELECT INTO
मौजूदा टेबल की फील्ड-कॉपी बनाना है जिसमें कोई डेटा नहीं है ।
यदि आपने ऐसा किया है:
select *
into Table2
from Table1
Table2
Table1
डेटा पंक्तियों सहित की एक सटीक डुप्लिकेट होगा । लेकिन अगर आप में निहित डेटा नहीं चाहते हैं Table1
, और आप केवल तालिका संरचना चाहते हैं, तो आप WHERE
सभी डेटा को फ़िल्टर करने के लिए एक खंड डालते हैं ।
BOL SELECT INTO
संदर्भ उद्धरण:
चयन करें ... INTO डिफ़ॉल्ट फ़ाइल समूह में एक नई तालिका बनाता है और इसमें क्वेरी से परिणामी पंक्तियाँ सम्मिलित करता है।
यदि आपके WHERE
खंड में कोई परिणामी पंक्तियाँ नहीं हैं, तो कोई भी नई तालिका में सम्मिलित नहीं किया जाएगा: इसलिए, आप मूल तालिका के डुप्लिकेट स्कीमा को बिना किसी डेटा (जो इस मामले में वांछित परिणाम होगा) के साथ समाप्त करते हैं।
TOP (0)
उदाहरण के लिए एक ही प्रभाव प्राप्त किया जा सकता है :
select top (0) *
into Table2
from Table1;
नोट : SELECT INTO
स्रोत तालिका के अनुक्रमित, अड़चन, ट्रिगर या विभाजन स्कीमा की नकल नहीं करेगा।