zoukankan      html  css  js  c++  java
  • SQL Server在所有表中查找内容(在整个库搜索内容)

    declare @Str nvarchar(max), @tableName varchar(50), @colName varchar(50), @rowCount int

    select a.name tableName, b.name Colname, 0 as IsFound into #t1
    from sysobjects a join syscolumns b on a.id=b.id join systypes c on b.xtype=c.xtype
    where a.[type]='U' and c.name in ('varchar', 'nvarchar', 'char', 'nchar') --这里是设置字段的类型,以缩小范围

    declare _c1 cursor for select Colname, tableName from #t1
    open _c1
    fetch next from _c1 into @colName, @tableName
    while @@FETCH_STATUS=0 begin
    --print @Str
    select @Str='select @rowCount=count(1) from ['+@tableName+'] where ['+@colName+'] like ''%TotalDsc%''' --这里是要查找的内容
    exec sp_executesql @Str, N'@rowCount int output', @rowCount output
    if @rowCount>0 update #t1 set IsFound=1 where ColName=@colName and tableName=@tableName
    fetch next from _c1 into @colName, @tableName
    end
    close _c1
    deallocate _c1
    select * from #t1 where IsFound=1
    drop table #t1

  • 相关阅读:

    队列
    数据结构简介
    标准模板库
    类模板
    函数模板
    srvctl error
    FLASH BACK
    RAC 设置archive log模式
    CHAPTER 1 Architectural Overview of Oracle Database 11g
  • 原文地址:https://www.cnblogs.com/niewa0928/p/12957784.html
Copyright © 2011-2022 走看看