zoukankan      html  css  js  c++  java
  • sql 搜索 关键系 存储过程

    Use Northwind

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

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

    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(@tbnameand 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 'Beverages' 
  • 相关阅读:
    NoSQL 数据库中的 CAP 理论
    JVM 相关概念
    Servlet 生命周期
    RabbitMQ
    消息队列概述
    05.类加载器深入解析及重要特性剖析
    LINUX笔记3(用户管理)
    LINUX笔记2(创建和编辑文本)
    修改httpd端口后,服务不能启动。
    LINUX笔记1(命令行和目录结构)
  • 原文地址:https://www.cnblogs.com/chinaniit/p/1521925.html
Copyright © 2011-2022 走看看