请问如何对大量表进行授权操作?
请问如何对大量表进行授权操作?这些表可以用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