আমি কীভাবে টি-এসকিউএল-তে কোনও টেবিলকে স্কিমাতে স্থানান্তরিত করব


273

আমি টি-এসকিউএল ব্যবহার করে একটি নির্দিষ্ট স্কিমাতে একটি টেবিল স্থানান্তর করতে চাই? আমি এসকিউএল সার্ভার 2008 ব্যবহার করছি।


1
যদি আপনি একটি নতুন স্কিমা একাধিক টেবিল সরানো প্রয়োজন কিনা তা দেখতে একাধিক টেবিল পুনঃনামকরণ করা
— টনি

উত্তর:


464
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

আপনি যদি সমস্ত টেবিলগুলিকে একটি নতুন স্কিমাতে স্থানান্তর করতে চান তবে আপনি অননুমোদিত (এবং কোনও সময়ে অবমূল্যায়ন করার জন্য, তবে অসম্ভব!) sp_MSforeachtableসঞ্চিত পদ্ধতি ব্যবহার করতে পারেন :

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

সূত্র .: ALTER SCHEMA

এসকিউএল ২০০৮: আমি কীভাবে ডিবিও স্কিমা পরিবর্তন করব?


6
2018 এবং এখনও আমার জীবন বাঁচিয়েছে। অনেক ধন্যবাদ মিচ।
— ক্লাউনকোডার

19

সংক্ষিপ্ত উত্তর:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

আমি নিশ্চিত করতে পারি যে টেবিলের ডেটা অক্ষত রয়েছে, যা সম্ভবত বেশ গুরুত্বপূর্ণ :)

এমএসডিএন ডক্স অনুসারে দীর্ঘ উত্তর ,

ALTER SCHEMA schema_name 
   TRANSFER [ Object | Type | XML Schema Collection ] securable_name [;]

যদি এটি কোনও টেবিল (বা কোনও প্রকার বা এক্সএমএল স্কিমা সংগ্রহের বাইরে কিছু) থাকে তবে আপনি ডিফল্ট হওয়ার কারণে অবজেক্ট শব্দটি ছেড়ে দিতে পারেন।


1
আমার সঠিক উত্তরের জন্য ডাউনটোট কেন? দয়া করে স্বীকৃত উত্তরের বিপরীতে খনিটি পরীক্ষা করুন, যা একই, এবং ইতিমধ্যে 257 টি উর্ধ্বতন রয়েছে (খনি সহ)।
— বিপরীত প্রকৌশলী

2
ডেটা নিশ্চিত করার জন্য একটি

6
@ ডেভবোল্টনম্যান: আপনি গৃহীত উত্তরের 6 বছর পরে এবং উপরে "যা একই" তার নিজের মন্তব্যে একটি উত্তর লিখেছেন।
— মিচ গম

4
টেবিলটিকে অন্য স্কিমা ধারক হিসাবে স্থানান্তরিত করার কারণে কেন কোনও টেবিলের ডেটা অক্ষত থাকবে না?
— মিচ গম

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