2009-07-19 36 views

Trả lời

377
ALTER SCHEMA TargetSchema 
    TRANSFER SourceSchema.TableName; 

Nếu bạn muốn di chuyển tất cả bảng vào một sơ đồ mới, bạn có thể sử dụng không có giấy tờ sp_MSforeachtable thủ tục lưu trữ (và được tán thành tại một số điểm, nhưng không!):

exec sp_MSforeachtable "ALTER SCHEMA TargetSchema TRANSFER ?" 

Ref .: ALTER SCHEMA

SQL 2008: How do I change db schema to dbo

12

ngắn một swer:

ALTER SCHEMA new_schema TRANSFER old_schema.table_name 

tôi có thể xác nhận rằng các dữ liệu trong bảng vẫn còn nguyên vẹn, mà có lẽ khá quan trọng :)

Long trả lời theo MSDN docs,

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

Nếu đó là một bảng (hoặc bất kỳ thứ gì ngoài bộ sưu tập Loại hoặc Lược đồ XML), bạn có thể bỏ đối tượng từ vì đó là mặc định.

+0

Tại sao câu trả lời cho câu trả lời đúng của tôi? Xin vui lòng kiểm tra của tôi chống lại câu trả lời được chấp nhận, đó là như nhau, và có 257 upvotes đã (bao gồm cả tôi). – DaveBoltman

+0

Có ý kiến ​​để xác nhận dữ liệu vẫn còn nguyên vẹn, chỉ lưu huyết áp của tôi ... :) –

+3

@DaveBoltnman: bạn đã nhập câu trả lời 6 năm sau câu trả lời được chấp nhận và bằng nhận xét của chính bạn ở trên "điều này giống nhau" . –

Các vấn đề liên quan