এসকিউএল সার্ভারে কলামের আকার পরিবর্তন করা


উত্তর:


507
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL

6
সতর্কতা অবলম্বন করুন, যদি আপনি খুব বড় ডেটাটেবলের মধ্যে কলাম পরিবর্তন করে থাকেন। আপনি ক্রাশ করতে পারেন (যাইহোক আমার পরিবেশে)।
ডেভিডপদেভ

55
এটি গুরুত্বপূর্ণ যে কলামটি যদি বৈশিষ্ট্যযুক্ত থাকে NOT NULLতবে এটি ক্যোয়ারিতে উল্লেখ করতে হবে অন্যথায় এটি এটি NULLডিফল্টরূপে সেট করবে । ALTER TABLE [Employee] ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
সুভেন্দু শেখর গিরি

8
যদি সেই কলামটিতে আপনার একটি সূচক থাকে তবে আপনাকে এটিকে ফেলে দিতে হবে, তারপরে পরিবর্তিত টেবিল কোডটি কার্যকর করুন এবং তারপরে আবার সূচি তৈরি করুন
Sr.PEDRO



19

চলমান ALTER COLUMNঅ্যাট্রিবিউট উল্লেখ ছাড়া NOT NULLকলামে স্থাপিত হবে, nullable পরিবর্তিত হচ্ছে এটি ইতিমধ্যেই নয়। অতএব, আপনাকে প্রথমে চেক করা দরকার যে কলামটি স্থূল হয় কিনা এবং যদি না হয় তবে বৈশিষ্ট্য নির্দিষ্ট করুন NOT NULL। বিকল্পভাবে, আপনি নিম্নলিখিত বিবৃতিটি ব্যবহার করতে পারেন যা কলামটির পূর্বেই nullability চেক করে এবং ডান বৈশিষ্ট্য সহ কমান্ড চালায় runs

IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
    ALTER TABLE [Employee]
        ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE        
    ALTER TABLE [Employee]
        ALTER COLUMN [Salary] NUMERIC(22,5) NULL

6

টেবিলটি নির্বাচন করুন -> ডিজাইন -> নীচের চিত্রটিতে দেখানো ডেটা টাইপের মান পরিবর্তন করুন।

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

সারণী নকশা সংরক্ষণ করুন।


সঠিকভাবে পরীক্ষা করে দেখুন আপনি কোনও পদক্ষেপ মিস করছেন।
arnav

7
সরঞ্জামগুলি -> বিকল্পগুলি ... /> ডিজাইনার -> টেবিল এবং ডাটাবেস ডিজাইনার - "সারণী পুনরায় তৈরির প্রয়োজন এমন পরিবর্তনগুলি সংরক্ষণ করা প্রতিরোধ করুন"
ইনার

বেশিরভাগ জিনিসের জন্য, আমি স্ক্রিপ্টিং পছন্দ করি। তবে কলাম পরিবর্তনের জন্য আমি ইউআই পছন্দ করি। নাল নোট বা কোনও গণনা বা কোনও অতিরিক্ত কলামের বৈশিষ্ট্য যাচাই করতে হবে না। কেবল সংরক্ষণ ক্লিক করুন (আপনি এসএসএমএসে @ 7nner নোট হিসাবে সেটিংস পরিবর্তন করার পরে)।
জ্যাকব এইচ

1

আকর্ষণীয় পদ্ধতির এখানে পাওয়া যাবে: স্প্যাগেটিডবা দ্বারা কোনও ডাউনটাইম ছাড়াই আপনার কলামগুলি কীভাবে বাড়ানো যায়

যদি আপনি এই কলামটি একটি সরাসরি "অল্টার টেবল" কমান্ড দিয়ে প্রসারিত করার চেষ্টা করেন, আপনাকে এসকিউএল সার্ভারের জন্য সমস্ত সারি পেরিয়ে নতুন ডেটা টাইপ লিখতে হবে

ALTER TABLE tab_name ALTER COLUMN col_name new_larger_data_type;

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

যখন টেবিলটি ROWস্তরে সংকুচিত হয় , তখন ALTER TABLE ALTER COLUMNকেবলমাত্র মেটাডেটা অপারেশন হয়।

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