ক্লাস্টারড ইনডেক্সের সৃষ্টি টেবিল তৈরির ক্ষেত্রে ব্যর্থ


10

নিম্নলিখিত স্ক্রিপ্টটি চালানোর সময় আমরা একটি ত্রুটি পেয়েছি;

IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES 
  WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='Table_Name')
BEGIN
CREATE TABLE Table_Name
(
    Field_Name_1 binary(32) NOT NULL CONSTRAINT PK_Name_Goes_Here PRIMARY KEY NONCLUSTERED
    , Field_Name_2 int NOT NULL 
    , Field_Name_3 datetime NOT NULL INDEX IX_Name_Goes_Here CLUSTERED
)
END 

বিশেষত এটি ক্লাস্টারড ইনডেক্স সৃষ্টিটি নিম্নলিখিত ত্রুটিটি ছুঁড়েছে:

এমএসজি 1018, স্তর 15, রাজ্য 1, লাইন 15
'INDEX' এর নিকটে ভুল সিনট্যাক্স। যদি এটি কোনও টেবিলের ইঙ্গিতের অংশ হিসাবে তৈরি করা হয় তবে এখন উইথ কীওয়ার্ড এবং প্রথম বন্ধনী প্রয়োজন। সঠিক সিনট্যাক্সের জন্য এসকিউএল সার্ভার বই অনলাইন দেখুন।

এটি একটি বিশেষ কিউএ সার্ভার ব্যতীত আমাদের সকল সার্ভারে কাজ করে বলে এটি অদ্ভুত। আমরা যে ফিক্সটি রেখেছি তা হ'ল টেবিল তৈরির স্টেটমেন্টের বাইরে ক্লাস্টারড ইনডেক্স তৈরি করা তবে আমি আগ্রহী হব যদি কেউ এই সমস্যার আগে এসে পড়ে?

উত্তর:


11

ইনলাইন সূচক ঘোষণা জন্য সিনট্যাক্স SQL সার্ভার 2014 সালে যোগ করা হয়েছে, যদিও হয় ছিল একেবারে অস্পষ্ট কর্মকর্তা CREATE TABLEডকুমেন্টেশন । ডকুমেন্টেশন মালিকদের সাথে কথা বলার পরে, সেই বিষয়টি এখন সঠিকভাবে প্রতিফলিত করে যে ইনলাইন ইনডেক্স সিনট্যাক্সটি কেবল এসকিউএল সার্ভার ২০১৪ (এবং ২০১ 2016-এর কিছু পরিবর্তন) দিয়ে শুরু হয়ে বৈধ:

এখানে চিত্র বর্ণনা লিখুন

অন্যান্য উদাহরণ, যেখানে এই সিনট্যাক্সটি আপনার জন্য কাজ করছে সেখানে অবশ্যই এসকিউএল সার্ভার 2014 বা আরও নতুন হওয়া উচিত।

২০১২-তে, সামঞ্জস্যতা স্তর নির্বিশেষে, আপনাকে আলাদাভাবে সূচক তৈরি করতে হবে।


-9

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


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

সম্ভবত তখন এটি সার্ভারে চলমান এসকিউএল সার্ভার সংস্করণ এবং / অথবা ডাটাবেসের এসকিউএল সামঞ্জস্যতা মোডের সাথে যুক্ত? এসকিউএল সার্ভার বিগত কয়েক বছরে প্রচুর 'সিনট্যাকটিক চিনি' যুক্ত করেছে। আপনি যদি যথেষ্ট পরিমাণে ফিরে যান তবে আপনি কোনও ভেরিয়েবল ঘোষণা করতে এবং এটি একই লাইনে সেট করতে পারবেন না।
ম্যাথু সান্টাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.