সারণী কোয়েরি নির্বাচনের জন্য WHERE 1 = 2 এর বিন্দুটি কী


39

যদি আমরা এসকিউএল সার্ভারে বিদ্যমান একটি থেকে একটি নতুন টেবিল তৈরি করতে চান তবে আমরা নিম্নলিখিতটি করতে পারি

SELECT * into Table2
from Table1
WHERE 1=2

কী দফার পয়েন্ট? আমি যেখানে এটির ধারাটি ছাড়াই চেষ্টা করেছি এবং এটি ঠিক আছে। আমি এটি দেখেছি যেখানে ইন্টারনেটে অনেক উদাহরণে ধারা রয়েছে তবে এটির প্রয়োজনীয়তার কারণটি নয়।

উত্তর:


54

WHERE 1=2আপনি এই SELECT INTOক্যোয়ারিতে ক্লজটি রাখার কারণটি হ'ল কোনও ডেটা ছাড়াই বিদ্যমান টেবিলের ফিল্ড-কপি তৈরি করা ।

আপনি যদি এটি করেন:

select *
into Table2
from Table1

Table2Table1ডেটা সারি সহ হুবহু সদৃশ হবে be তবে যদি আপনি এই তথ্যটি অন্তর্ভুক্ত না করতে চান Table1এবং আপনি কেবল টেবিলের কাঠামো চান তবে আপনি WHEREসমস্ত ডেটা ফিল্টার করার জন্য একটি ধারা রেখেছিলেন ।

বিএল SELECT INTOরেফারেন্সের উদ্ধৃতি:

নির্বাচন করুন ... INTO ডিফল্ট ফাইলগ্রুপে একটি নতুন টেবিল তৈরি করে এবং এর মধ্যে ক্যোয়ারী থেকে ফলস্বরূপ সারিগুলি সন্নিবেশ করান।

যদি আপনার WHEREধারাটিতে ফলস্বরূপ সারি না থাকে তবে নতুন টেবিলে কোনওটি প্রবেশ করাবে না: অতএব, আপনি কোনও তথ্য ছাড়াই মূল টেবিলের সদৃশ স্কিমাটি শেষ করবেন না (যা এই ক্ষেত্রে পছন্দসই ফলাফল হবে)।

একই প্রভাব TOP (0)উদাহরণস্বরূপ:

select top (0) *
into Table2
from Table1;

দ্রষ্টব্য : SELECT INTOউত্স সারণীর সূচীগুলি, সীমাবদ্ধতাগুলি, ট্রিগারগুলি বা পার্টিশন স্কিমাটির সদৃশ করবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.