เหตุผลที่คุณใส่WHERE 1=2
ในประโยคที่SELECT INTO
แบบสอบถามคือการสร้างสนามสำเนาของตารางที่มีอยู่ด้วยไม่มีข้อมูล
หากคุณทำสิ่งนี้:
select *
into Table2
from Table1
Table2
จะซ้ำกันแน่นอนTable1
รวมถึงแถวข้อมูล แต่ถ้าคุณไม่ต้องการข้อมูลที่มีอยู่Table1
และคุณเพียงต้องการโครงสร้างของตารางคุณใส่ส่วนWHERE
คำสั่งเพื่อกรองข้อมูลทั้งหมด
SELECT INTO
อ้างอิงBOL อ้างอิง :
เลือก ... เข้าสู่สร้างตารางใหม่ในกลุ่มไฟล์เริ่มต้นและแทรกแถวผลลัพธ์จากแบบสอบถามลงใน
หากWHERE
ส่วนคำสั่งของคุณไม่มีแถวที่เป็นผลลัพธ์จะไม่มีการแทรกลงในตารางใหม่: ดังนั้นคุณจะจบลงด้วยสคีมาที่ซ้ำกันของตารางดั้งเดิมโดยไม่มีข้อมูล (ซึ่งจะเป็นผลลัพธ์ที่ต้องการในกรณีนี้)
เอฟเฟกต์เดียวกันนี้สามารถทำได้ด้วยTOP (0)
ตัวอย่างเช่น:
select top (0) *
into Table2
from Table1;
หมายเหตุ : การSELECT INTO
จะไม่ทำซ้ำดัชนีตารางข้อ จำกัด ทริกเกอร์หรือสคีมาของพาร์ติชัน