zoukankan      html  css  js  c++  java
  • SQL语句,在数据库的所有表里查找某一个字段值

    CREATE proc Full_Search(@string varchar(50)) 
    as
    begin

    declare @tbname varchar(50)
    declare tbroy cursor for select name from sysobjects
    where xtype= 'u ' --第一个游标遍历所有的表

    open tbroy
    fetch next from tbroy into @tbname
    while @@fetch_status=0
    begin

    declare @colname varchar(50)
    declare colroy cursor for select name from syscolumns
    where id=object_id(@tbname) and xtype in (
    select xtype from systypes
    where name in ( 'varchar ', 'nvarchar ', 'char ', 'nchar ') --数据类型为字符型的字段
    ) --第二个游标是第一个游标的嵌套游标,遍历某个表的所有字段

    open colroy
    fetch next from colroy into @colname
    while @@fetch_status=0
    begin

    declare @sql nvarchar(1000),@j int
    select @sql= 'select @i=count(1) from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%'''
    exec sp_executesql @sql,N'@i int output',@i=@j output --输出满足条件表的记录数
    if @j> 0
    BEGIN
    select 包含字串的表名=@tbname
    --exec( 'select distinct '+@colname+' from ' +@tbname + ' where '+ @colname+ ' like '+ '''%'+@string+ '%''')
    END
    fetch next from colroy into @colname
    end

    close colroy
    deallocate colroy

    fetch next from tbroy into @tbname
    end
    close tbroy
    deallocate tbroy
    end
    go

     比如查的“首页列表”方法:

    exec Full_Search '首页列表'

    学习交流群:364976091
  • 相关阅读:
    嵌入式和就业(转)
    [转] 电子技术·笔记1(9月份)
    ERP系统
    Win7 启动修复
    A1pass大大对黑客学习的建议
    你凭什么能过上你想要的生活?
    Hacker需要掌握的基础
    Hacker学习发展流程图
    硬盘SMART参数解释
    u盘的一些理解
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/2305287.html
Copyright © 2011-2022 走看看