我在我的数据库中创建了一个用户,现在我想给该用户一个模式。我的问题是如何构建一个将30个表添加到该模式的查询?
我知道如何创建架构并为该架构上的用户提供select permision,但我不知道如何为该架构提供我想要的表。
仅供参考:我使用sql server 2010,我想构建一个执行此操作的查询,而不是通过SQL Server Management Studio中的UI
答案 0 :(得分:3)
使用ALTER SCHEMA语句将对象从一个模式转移到另一个模式:
ALTER SCHEMA new_schema TRANSFER old_schema.table
例如,要构造查询以将所有表从Sales架构移动到new_schema(AdventureWorks2012),请使用:
select 'ALTER SCHEMA new_schema TRANSFER Sales.' + o.name + ';'
from sys.objects o
inner join sys.schemas s on o.schema_id = s.schema_id
where s.name = 'Sales'
and o.type = 'U'