您的位置:首页 > 其它

给所有存储过程加所有人权限的一个存储过程

2004-07-29 14:09 176 查看
create procedure up_grant_all
(@objecttypes varchar(3)
)
as
declare @da_objectname varchar(30)
declare @da_objecttype varchar(30)
declare @ls_sql varchar(255)
/*
** If we're in a transaction, disallow this since it might make recovery
** impossible.
*/
if @@trancount > 0
begin
/* 17260, "Can't run %1! from within a transaction." */
raiserror 17260, "up_grant_all"
return (1)
end
if upper(@objecttypes )='ALL'
begin
declare cur_result2 cursor for
select name , type
from sysobjects
end
else
begin
declare cur_result2 cursor for
select name , type
from sysobjects
where sysobjects.type = upper(@objecttypes)
end
open cur_result2
fetch cur_result2 into @da_objectname ,@da_objecttype
while (@@sqlstatus = 0)
begin
if @da_objecttype ='U' or @da_objecttype ='V'
begin
exec ( 'grant all on ' + @da_objectname + ' to public' )

end

else if @da_objecttype ='P'
begin

exec ( 'grant execute on ' +@da_objectname +' to public' )

end

fetch cur_result2 into @da_objectname ,@da_objecttype
end
close cur_result2
deallocate cursor cur_result2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐