it-swarm.dev

كيف يمكنني نقل جدول إلى مخطط في T-SQL

أريد نقل جدول إلى مخطط معين باستخدام T-SQL؟ أنا أستخدم SQL Server 2008.

250
Lukasz
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName;

إذا كنت تريد نقل all الجداول إلى مخطط جديد ، يمكنك استخدام المستندات غير الموثقة (وسيتم إهمالها في مرحلة ما ، ولكن من غير المحتمل!) sp_MSforeachtable الإجراء المخزن:

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?"

المرجع: ALTER SCHEMA

SQL 2008: كيف يمكنني تغيير مخطط قاعدة بيانات db إلى dbo

433
Mitch Wheat

اجابة قصيرة:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name

أستطيع أن أؤكد أن البيانات في الجدول لا تزال سليمة ، والتي ربما تكون مهمة للغاية :)

إجابة طويلة حسب مستندات MSDN ،

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

إذا كان جدولًا (أو أي شيء بجانب مجموعة Type أو Schema Schema) ، فيمكنك استبعاد كائن Word لأنه الافتراضي.

17
DaveBoltman