zoukankan      html  css  js  c++  java
  • sqlserver 全库查询 带架构

    网上现有的全库查询,无法识别自定义架构的数据库结构:

    declare @str nvarchar(10)
    declare @tablename varchar(50)
    declare @colname varchar(50)
    declare @counts int
    declare @sql nvarchar(2000)--以上定义变量
    declare cur1 cursor for 
    select a.name tablename,B.name colname from sys.objects a,syscolumns b where a.object_id=b.id and a.type_desc='USER_TABLE'--定义游标
    set @str='' --设置要查找的字符
    Open cur1 --打开游标
    Fetch next From cur1 Into @tablename,@colname
    While(@@Fetch_Status = 0) --循环
    Begin
    set @sql=N'select  @counts=COUNT(*) from ' + @tablename + '   where  charindex('''+@str+''','+@colname+')>0'
    exec sp_executesql @sql,N'@counts int output',@counts output --执行动态sql
    if @counts>0 --判断某个表某个字段是否存在特定字符
    begin
    print @tablename+','+@colname --打印表名及字段名
    end
    Fetch next From cur1 Into @tablename,@colname
    End
    Close cur1 --关闭游标
    Deallocate cur1 --释放游标

    添加架构支持后,虽偶尔会有报错,可查询架构:

    declare @str nvarchar(10)
    declare @schemasname varchar(50)
    declare @tablename varchar(50)
    declare @colname varchar(50)
    declare @counts int
    declare @sql nvarchar(2000)--以上定义变量
    declare cur1 cursor for 
    select s.name schemasname,a.name tablename,B.name colname from sys.objects a,syscolumns b,sys.schemas s 
    where a.object_id=b.id and a.schema_id=s.schema_id and a.type_desc='USER_TABLE'--定义游标
    set @str='污染' --设置要查找的字符
    Open cur1 --打开游标
    Fetch next From cur1 Into @schemasname,@tablename,@colname
    While(@@Fetch_Status = 0) --循环
    Begin
    set @sql=N'select  @counts=COUNT(*) from ' + @schemasname + '.'+ @tablename + '   where  charindex('''+@str+''','+@colname+')>0'
    exec sp_executesql @sql,N'@counts int output',@counts output --执行动态sql
    if @counts>0 --判断某个表某个字段是否存在特定字符
    begin
    print @schemasname+','+@tablename+','+@colname --打印表名及字段名
    end
    Fetch next From cur1 Into @schemasname,@tablename,@colname
    End
    Close cur1 --关闭游标
    Deallocate cur1 --释放游标 
  • 相关阅读:
    我用Python爬虫挣钱的那点事
    猿人学 . 爬虫逆向高阶课
    Python中实用却不常见的小技巧
    Python内存数据序列化到硬盘上哪家强
    利用setuptools发布Python程序到PyPI,为Python添砖加瓦
    配置tmux在机器重启后自动恢复tmux工作现场,告别重启恐惧症
    用python实现新词发现程序——基于凝固度和自由度
    学习笔记:Python序列化常用工具及性能对比
    浅谈自然语言在科技时代的运用
    python学习笔记:建立一个自己的搜索引擎
  • 原文地址:https://www.cnblogs.com/fanlu/p/7560743.html
Copyright © 2011-2022 走看看