SQL实现查询未加密存储过程脚本

/*   编写存储过程,查询未加密的存储过程脚本文本

*/ 

if exists(select name from sys.sysobjects where xtype='p' and name='proce_text')
drop procedure proce_text
go
create procedure proce_text
as
create table #procedure_detail(id int identity(1,1),texts nvarchar(max))

---使用游标,遍历所有未加密存储过程

declare @sql varchar(8000),@var varchar(1000)
set @sql=''
declare @name varchar(30)
set @name=''
declare cur1 cursor for
select distinct A.name from sys.sysobjects A,sys.syscomments B
where a.id=b.id and a.xtype='p' and B.encrypted=0
open cur1
fetch next from cur1 into @name
 while @@fetch_status=0
  begin
   create table #1(a varchar(3000))
   insert into #1(a) exec sp_helptext @name
    declare cur2 cursor for
     select a from #1
      open cur2
       fetch next from cur2 into @var
        while @@fetch_status=0
         begin
         set @sql=@sql+' '+@var
         fetch next from cur2 into @var
         end
    close cur2
    deallocate cur2
    drop table #1
    insert #procedure_detail(texts) select @sql
    set @name=''
    set @sql=''
   fetch next from cur1 into @name
  end
  close cur1
  deallocate cur1
  select * from #procedure_detail

--查询结果
exec proce_text

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值