এসকিউএল সার্ভার 2005-এ নলযোগ্য কলামগুলিতে স্বতন্ত্র সীমাবদ্ধতা


12

এই একটি প্রকল্পে আমি কাজ করছি, আমার নির্দিষ্ট ক্ষেত্রটি অনন্য হতে হবে (কোনও সমস্যা নয়!) প্রয়োজন তবে ক্ষেত্রটি শূন্য থাকলে আমি চাই সীমাবদ্ধতা উপেক্ষা করা হোক। এসকিউএল সার্ভার ২০০৮-তে আমি নিচের মতো ফিল্টারড সূচক ব্যবহার করি তবে এটি এসকিউএল এর পূর্ববর্তী সংস্করণগুলিতে পাওয়া যায় না!

CREATE UNIQUE NONCLUSTERED INDEX User_UserName_IUC
ON [User] (pinNr)
WHERE UserName IS NOT NULL

কিন্তু আমি মনে করি না এই এসকিউএল সার্ভার পাওয়া যায় 2005 বস্তুত এই ব্লগ পোস্টে ইঙ্গিত স্বতন্ত্রতা জন্য চেক করতে একটি ট্রিগার ব্যবহার করে একটি কার্যসংক্রান্ত নেই। কারও কি এর উদাহরণ আছে? বা বিকল্প হতে পারে?

দুর্ভাগ্যক্রমে এসকিউএল সার্ভার ২০০৮-এ আপগ্রেড করা এই বিশেষ ক্লায়েন্টের পক্ষে বিকল্প নয়!

উত্তর:


18

আসলে, আমাকে এই জাতীয় কিছু একবার করতে হয়েছিল। এর মধ্যে এমন একটি গণিত কলাম তৈরি করা হয়েছে যা অনন্য কলামের NULLমান না থাকলে এবং প্রাথমিক কীটির মান (অনন্য কলামে মানগুলির সাথে সংঘর্ষকে অসম্ভব করে তোলে এমন কিছু অন্যান্য যুক্তি সহ) এবং অনন্য সূচক তৈরিতে জড়িত ছিল যে কলাম। আপনি এর উদাহরণ এবং ট্রিগার পদ্ধতিটি এখানে দেখতে পারেন ।


7

আপনি একটি ভিউ তৈরি করতে পারেন (যেখানে ব্যবহারকারীর নামটি নাল নয়) তারপরে ভিউটির বিরুদ্ধে একটি অনন্য সূচক রাখুন। আপনার কখনও ভিউটি ব্যবহার করার দরকার নেই, এটি কেবল এর জন্য বিদ্যমান exist

আপনি বেশ কয়েকটি টেবিল জুড়ে স্বতন্ত্রতা প্রয়োগ করতে এই কৌশলটিও ব্যবহার করতে পারেন, যেখানে এটি সাধারণত অসম্ভব হয়ে ওঠে।


2
সূচিযুক্ত দর্শনগুলির এন্টারপ্রাইজ সংস্করণ প্রয়োজন হয় না। তবে তাদের অবশ্যই প্রয়োজন যে আপনি স্ট্যান্ডার্ড সংস্করণ ক্যোয়ারী অপ্টিমাইজারকে অন্তর্নিহিত ক্যোয়ারির পরিবর্তে সূচী দর্শনটি ব্যবহার করতে বাধ্য করতে WITH (NOEXPAND) কোয়েরি ইঙ্গিতটি ব্যবহার করুন।
যেরেমিয়া পেশকা

3
এই ক্ষেত্রে যদিও দৃষ্টির একমাত্র পয়েন্ট হ'ল অনন্য প্রতিবন্ধকতা প্রয়োগ করা এবং এটি একদম বৈধ / সাধারণ পন্থা।
মার্টিন স্মিথ

2
এন্টারপ্রাইজ সংস্করণ সম্পর্কে ভুল তথ্য অপসারণ করতে সম্পাদিত।
মেফ

@ মন্তব্যটি এখানে সাড়া দেওয়ার জন্য সময় দেওয়ার জন্য মিসকে ধন্যবাদ - আমি আশা করি আপনি সাইটে অপরিচিত হতে পারবেন না: আপনি এই প্রশ্নগুলিতে আগ্রহী হতে পারেন :)
জ্যাক বলেছেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.