使用查询创建模式并向其添加表

时间:2014-04-09 11:04:02

标签: sql sql-server schema grant

我在我的数据库中创建了一个用户,现在我想给该用户一个模式。我的问题是如何构建一个将30个表添加到该模式的查询?

我知道如何创建架构并为该架构上的用户提供select permision,但我不知道如何为该架构提供我想要的表。

仅供参考:我使用sql server 2010,我想构建一个执行此操作的查询,而不是通过SQL Server Management Studio中的UI

1 个答案:

答案 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'