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


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.