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

给所有存储过程加所有人权限的一个存储过程
https://www.sybasebbs.com/thread-40-1-1.html
(出处: SAP SYBASE(PB)BBS论坛中文社区技术服务)
 

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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值