当前位置: 代码迷 >> Sql Server >> 请教怎么对大量表进行授权操作
  详细解决方案

请教怎么对大量表进行授权操作

热度:0   发布时间:2016-04-27 20:37:18.0
请问如何对大量表进行授权操作?
请问如何对大量表进行授权操作?这些表可以用select语句容易筛选的,几百个表。

主要是如何对大量对象(包括表,view等)进行授权?

GRANT   SELECT   ON   xxx   TO   [Assistant]
xxx不能是子查询,否则就容易了,select   name   from   sysobjects   where   name   like   '__yyy___ '
有什么办法吗?我这里xxx其实就是ww001-ww250之类,可是量很多,有几种类型。

------解决方案--------------------
declare tb cursor local
for
select name from sysobjects where name like '__yyy___ '
declare @name sysname
open tb
fetch tb into @name
while @@fetch_status = 0
begin
EXEC(N 'GRANT SELECT ON ' + @name + ' TO [Assistant] ') -- 括号不匹配而已
fetch tb into @name
end
close tb
deallocate tb
  相关解决方案