আমি একটি টেবিলে কলামে পুনর্বিন্যাস করতে পারি?

যদি আমি মাইক্রোসফ্ট এসকিউএল সার্ভারে একটি কলামে একটি কলাম যুক্ত করছি, তাহলে কোলাহল ক্যোয়ারিতে লজিক্যালভাবে প্রদর্শিত কোথায় নিয়ন্ত্রণ করতে পারি?

আমি ডিস্কের কলামের শারীরিক লেআউটের সাথে জবরদস্তি করতে চাই না, তবে সম্ভব হলে আমি একসাথে কলামে যৌক্তিকভাবে দল গঠন করতে চাই যাতে করে SQL সার্ভার ম্যানেজমেন্ট স্টুডিওগুলির মতো সরঞ্জামগুলি সুবিধাজনকভাবে সারণির বিষয়বস্তু তালিকাভুক্ত করে।

আমি জানি যে আমি এসকল ম্যানেজমেন্ট স্টুডিওর মাধ্যমে টেবিলের জন্য তাদের "ডিজাইন" মোডে গিয়ে কাছাকাছি কলামগুলির অর্ডার টেনে আনতে পারি, কিন্তু আমি কাঁচা এসকিউএলে এটি করতে সক্ষম হতে চাই যাতে আমি অর্ডার করতে পারি কমান্ড লাইন থেকে স্ক্রিপ্ট

0
যোগ লেখক Tim Abell, উৎস
আরো সম্পর্কিত জিনিসগুলি: dba.stackexchange.com/questions/18719/…
যোগ লেখক Tim Abell, উৎস
এবং অন্য একটি সম্পর্কিত প্রশ্ন, এটি কোন বিষয় সম্পর্কে stackoverflow.com/questions/6692021/…
যোগ লেখক Tim Abell, উৎস
মাইক্রোসফ্ট সংযোগ: কলামের অর্ডার পরিবর্তন করার জন্য ALTER TABLE সিনট্যাক্স - প্রতিক্রিয়াটি চকোলেটের - সাধারণত WontFIX হিসাবে-টেপট বিভিন্ন
যোগ লেখক Tim Abell, উৎস
একটি উত্তর জন্য দেরী কিন্তু এই লিংক একটি কটাক্ষপাত আছে। blog.sqlauthority.com/2013/03/11/…
যোগ লেখক sqluser, উৎস

8 উত্তর

যখন ম্যানেজমেন্ট স্টুডিও এটি করে, এটি একটি অস্থায়ী টেবিল তৈরি করছে, সবকিছুকে অনুলিপি করে, আপনার আসল টেবিলের ড্রপ করে এবং অস্থায়ী টেবিলের নাম পরিবর্তন করে। কোন সাধারণ সমতুল্য T- এসকিউএল বিবৃতি আছে।

আপনি যদি তা না করে থাকেন তবে আপনি যে টেবিলের সাথে টেবিলটি দেখতে চান এবং যেটি ব্যবহার করতে চান তা কি আপনি সর্বদা তৈরি করতে পারেন?

সম্পাদনা করুন: পিট!

0
যোগ

আপনি একটি নতুন টেবিলের তৈরি না করেও এই প্রোগ্রামটিটি (নিরাপদ ভাবে) করতে পারবেন না।

আপনি যখন একটি পুনর্বিন্যাসন করছেন তখন কোন এন্টারপ্রাইজ ম্যানেজার কাজ করে, একটি নতুন সারণি তৈরি করতে হয়, ডেটা সরান এবং তারপর পুরানো সারণিটি মুছুন এবং নতুন সারণিটির বিদ্যমান নামতে পুনরায় নামকরণ করুন।

যদি আপনি একটি নির্দিষ্ট ক্রম / গ্রুপে তাদের ক্রম পরিবর্তিত না করে আপনার কলাম চান, তবে আপনি একটি দৃশ্য তৈরি করতে পারেন যা আপনি যা ইচ্ছা করতে পারেন।

0
যোগ

যদি আমি আপনার প্রশ্নটি বুঝতে পারি, তাহলে আপনি কি বিদ্যমান প্রশ্নের মধ্যে প্রথম, দ্বিতীয়, তৃতীয়, ইত্যাদি কলামগুলি প্রভাবিত করতে চান তা ঠিক করতে চান?

যদি আপনার সব প্রশ্নের সাথে লেখা হয় SELECT * TABLE - তাহলে তারা আউটপুটে দেখাবে যেমনটি তারা এসকিউএল-এ রক্ষিত আছে।

যদি আপনার ক্যোয়ারী SELECT Field1, Field2 থেকে সারণি - এর সাথে লিখিত হয় - তাহলে যেগুলি এসকিউএল-এ রক্ষিত আছে তাদের কোনও ব্যাপার নেই।

0
যোগ

সমগ্র টেবিলের পুনর্বিন্যস্ত না করে কলামের অর্ডার পরিবর্তন করা সম্ভব নয়। যদি আপনার কাছে ডাটাবেসের কয়েকটি দৃষ্টান্ত থাকে তবে আপনি এর জন্য SSMS ব্যবহার করতে পারেন (টেবিলটি নির্বাচন করুন এবং "নকশা" ক্লিক করুন)

In case you have too many instances for a manual process, you should try this script: https://github.com/Epaminaidos/reorder-columns

0
যোগ

এটি সিস্টেমের টেবিলকে সরাসরি সংশোধন করে এসকিউএল ব্যবহার করা যায়। উদাহরণস্বরূপ, এখানে দেখুন:

সারণিটি আলতো চাপুন - নতুন কলামটি জুড়ুন

যাইহোক, আমি সিস্টেম টেবিলের সাথে খেলতে সুপারিশ করবে না, যদি না এটি একেবারে প্রয়োজনীয়।

0
যোগ

আমি মনে করি সবাই এখানে কি অনুপস্থিত, এটা যদিও প্রত্যেকেরই 10, 20 এর, অথবা 1000 এর সাথে সারা দেশে এবং বিশ্ব জুড়ে ইনস্টল করা একই সফ্টওয়্যার সিস্টেমের সাথে মোকাবিলা করতে হয় ... আমাদের যারা বাণিজ্যিকভাবে বিক্রি করা সফ্টওয়্যার ডিজাইন করে তাই করে। ফলস্বরূপ, আমরা সময়ের সাথে সিস্টেমগুলি প্রসারিত করি, ক্ষেত্রগুলি যোগ করে নতুন সামর্থ্যের প্রয়োজন অনুযায়ী টেবিলের প্রসারিত করি এবং যে ক্ষেত্রগুলির চিহ্নিত করা হয় সেগুলি বিদ্যমান টেবিলের অন্তর্গত এবং যেমন এক দশক ধরে বৃদ্ধি, বৃদ্ধি, ক্ষেত্র যোগ করা ইত্যাদি। টেবিল থেকে .... এবং তারপর ডিজাইন থেকে টেবিলের সাথে কাজ করার জন্য, কখনও কখনও কাঁচা ডেটা / সমস্যা সমাধান করার জন্য নতুন কার্যকারিতা বাগগুলি ডিবাব করতে সহায়তা করার জন্য .... এটি প্রাথমিক তথ্য যা আপনি চান না প্রথম মুষ্টিমেয় ক্ষেত্রের মধ্যে দেখুন, যখন আপনি 30-40-50 অথবা 9 0 টি ক্ষেত্রের টেবিলে থাকতে পারেন এবং হ্যাঁ একটি কঠোরভাবে সাধারণ ডেটাবেসে।

আমি প্রায়ই চাইতাম আমি এই কাজ করতে পারি, কারণ এই সঠিক কারণ। কিন্তু এসকিউএল ঠিক কি করছেন, নতুন টেবিলের জন্য একটি তৈরি স্ক্রিপ্ট তৈরি করে যা আমি চাই, এটি সন্নিবেশ করান, তারপর বিদ্যমান সারণি থেকে সব বিদ্যমান সীমাবদ্ধতা, সম্পর্ক, কী, সূচক, ইত্যাদি ইত্যাদি ড্রপ করে এবং পুনরায় নামকরণ করে। পুরাতন নাম "নতুন" টেবিল, এবং তারপর ঐ সমস্ত কি, সম্পর্ক, সূচী ইত্যাদি ইত্যাদি পড়তে ....

শুধু ক্লান্তিকর নয়, সময় ব্যয় করা ... কিন্তু পাঁচ বছরে আবারও ঘটতে হবে ....

এটা বিশাল পরিমাণ কাজ মূল্যের কাছাকাছি, তবে বিন্দুটি হচ্ছে ... এটি শেষবারের মতো হবে না যখন আমরা এই ক্ষমতার প্রয়োজন হবে, যেহেতু আমাদের সিস্টেমগুলি ক্রমবর্ধমান হওয়া, প্রসারিত এবং ক্ষেত্রবিশেষে চালিত ক্রম দ্বারা চালিত ক্র্যাশ হবে প্রয়োজন / নকশা সংযোজন

অধিকাংশ ডেভেলপার একটি একক সিস্টেমের দৃষ্টিকোণ থেকে মনে করে যে একটি একক কোম্পানি বা খুব নির্দিষ্ট হার্ড বক্স বাজারে সেবা করে।

"অফ-দ্য-শেফ" কিন্তু তাদের অগ্রগতির অগ্রগতির ডিজাইনার এবং উন্নয়নের নেতাদের তাদের বাজারে স্থানটি সবসময় এই সমস্যার মোকাবেলা করতে হবে, ওভার এবং ওভার ..... যদি কোনও একজনের আছে তবে সৃজনশীল সমাধানটি পছন্দ করবে। এই সহজে আমার কোম্পানী সপ্তাহে এক ডজন ঘন্টা সংরক্ষণ করতে পারে, ঠিক আছে স্ক্রোল না, অথবা মনে রাখবেন যেখানে "যে" ক্ষেত্র উৎস তথ্য টেবিলের মধ্যে আছে ....

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

এক উপায় আছে, কিন্তু শুধুমাত্র অস্থায়ীভাবে ক্যোয়ারী জন্য নিজেই। উদাহরণ স্বরূপ,

Lets say you have 5 tables. Table is called T_Testing

FirstName, LastName, ফোন নম্বার, ইমেল এবং সদস্য_আইডি

আপনি এটি তাদের আইডি তালিকাভুক্ত করতে চান, তারপর শেষ নাম, তারপর FirstName, তারপর ফোন তারপর ইমেল।

আপনি নির্বাচন অনুযায়ী এটি করতে পারেন।

Select Member_ID, LastName, FirstName, PhoneNumber, Email
From T_Testing

অন্য যেকোনো কারণে, যদি আপনি কোনও কারণে প্রথম নাম থেকে দেখানোর জন্য LastName চান তবে আপনি এটি নিম্নরূপ করতে পারেন:

Select LastName, *
From T_Testing

আপনি যা করতে চান তা কেবলমাত্র আপনি অর্ডার করতে চান যে অর্ডারটি বা যেখানে ফাংশনটি সারণি হিসাবে চিহ্নিত করা প্রয়োজন। কলাম যদি আপনি কোনও স্থান বা অর্ডার ব্যবহার করতে যাচ্ছেন

উদাহরণ:

Select LastName, *
From T_Testing
Order By T_Testing.LastName Desc

আমি আশা করি এই সাহায্য করে, আমি এটি figured কারণ আমি নিজেকে এই করতে প্রয়োজন।

0
যোগ
এই প্রশ্নের মধ্যে LastName নির্বাচন করুন, * T_Testing থেকে, আপনি LastName দুইবার পাবেন।
যোগ লেখক sqluser, উৎস
  1. আপনার বিদ্যমান সারণি একটি অনুসন্ধান উইন্ডোতে স্ক্রিপ্ট করুন।
  2. এই স্ক্রিপ্টটিকে টেস্ট ডাটাবেসের বিরুদ্ধে চালান (ব্যবহার স্টেটমেন্টটি সরিয়ে দিন)
  3. আপনার প্রয়োজন কলাম পরিবর্তন করতে SSMS ব্যবহার করুন
  4. পরিবর্তন স্ক্রিপ্ট জেনারেট করুন ক্লিক করুন (বামে সর্বাধিক এবং বামদিকের আইকন বোতামবার, ডিফল্টরূপে)
  5. আপনার প্রকৃত টেবিলের বিরুদ্ধে এই স্ক্রিপ্টটি ব্যবহার করুন

সমস্ত স্ক্রিপ্টটি আসলেই একটি দ্বিতীয় টেবিল টেবিল তৈরি করে আপনার পছন্দসই কলামের অর্ডার তৈরি করে, আপনার সমস্ত ডাটা এতে অনুলিপি করে, আসল টেবিলের ড্রপ করে এবং দ্বিতীয় স্থানটি পুনরায় স্থানান্তরের জন্য পুনরায় নামকরণ করে। এটি আপনাকে আপনার নিজের লেখা লিখতে পারে যদিও আপনি একটি ডিপ্লেলিট স্ক্রিপ্ট চান।

0
যোগ