সহকর্মীর স্ক্রিপ্টটি চালানোর সময় আমি উপরের 'এএনএসআই সতর্কতা' বার্তাটি দেখেছি (এবং আমি জানি না যে বহু বিবৃতিতে কোনটি সতর্কবার্তাটি প্রদর্শিত হয়েছিল)।
অতীতে আমি এটিকে উপেক্ষা করেছি: আমি নিজেকে নালাগুলি এড়িয়ে চলি এবং তাই এগুলি মুছতে পারে এমন কোনও কিছুই আমার বইয়ের একটি ভাল জিনিস! যাইহোক, আজ 'সেট' শব্দটি আক্ষরিক অর্থে আমার দিকে চিৎকার করেছিল এবং আমি বুঝতে পেরেছিলাম যে এই প্রসঙ্গে শব্দের অর্থ কী হবে বলে মনে করা হয় তা আমি জানি না।
আমার প্রথম চিন্তা, এটি বড় হাতের অক্ষরের উপর ভিত্তি করে, এটি হ'ল এটি কী-ওয়ার্ডের উল্লেখ করে SET
এবং এর অর্থ 'অ্যাসাইনমেন্ট', যেমন
UPDATE <table> SET ...
...ON DELETE SET NULL...
SET IDENTITY_INSERT <table> ON
এসকিউএল সার্ভার হেল্প অনুসারে, 'এএনএসআই সতর্কতা' বৈশিষ্ট্যটি আইএসও / এএনএসআই এসকিউএল -২২ এর উপর ভিত্তি করে তৈরি করা হয়েছে, যার জন্য একটি অনুচ্ছেদ শিরোনামে 'সেট অপারেশন' শব্দটি ব্যবহার করা হয়েছে, সুতরাং শিরোনাম ক্ষেত্রে, শিরোনামের ক্ষেত্রে ডেটা অ্যাসাইনমেন্ট বিভাগ। যাইহোক, ত্রুটি বার্তার একটি দ্রুত গুগলিংয়ের পরে আমি এমন উদাহরণগুলি দেখতে পাচ্ছি SELECT
যা আপাতদৃষ্টিতে কোনও অ্যাসাইনমেন্ট জড়িত নয় এমন প্রশ্নের রয়েছে।
আমার দ্বিতীয় চিন্তা, এসকিউএল সার্ভার সতর্কতার শব্দের উপর ভিত্তি করে, সেটটির গাণিতিক অর্থ বোঝানো হয়েছিল। যাইহোক, আমি মনে করি না যে এসকিউএল-তে সমষ্টিটি কঠোরভাবে একটি সেট অপারেশন বলছে। এমনকি এসকিউএল সার্ভার টিম সেটটিকে একটি সেট অপারেশন হিসাবে বিবেচনা করেও, 'সেট' শব্দটি রাজধানীতে রাখার উদ্দেশ্য কী?
গুগল করার সময় আমি একটি এসকিউএল সার্ভার ত্রুটি বার্তাটি লক্ষ্য করেছি:
Table 'T' does not have the identity property. Cannot perform SET operation.
এখানে একই ক্ষেত্রে একই শব্দগুলি 'সেট অপারেশন' কেবল IDENTITY_INSERT
সম্পত্তির অ্যাসাইনমেন্টকে বোঝাতে পারে , যা আমাকে আমার প্রথম চিন্তায় ফিরিয়ে আনে।
কেউ কি এই বিষয়ে কোন আলোকপাত করতে পারেন?
SET
সবসময় কোনও কীওয়ার্ডের মতো পুরো ক্যাপগুলিতে থাকি তাই মনে করি না
SELECT * FROM sys.messages WHERE text LIKE '%SET operation%'
অন্যান্য 3 টি ফলাফল দেয় যা সমস্ত SET
কিওয়ার্ডকেও ইঙ্গিত করে বলে মনে হয় ।
set operations
উল্লেখ UNION
এবং INTERSECT
এবং EXCEPT
, কিন্তু আমি ভুল দিয়ে আসতে না পেতে পারেন NULL
সেই পরিস্থিতিতে কোন। আমি মনে করি এটি কোনও উত্তরাধিকারের ত্রুটির বার্তা হতে পারে।