zoukankan      html  css  js  c++  java
  • 查询数据库中某个表中某一列是否包含某个值的proc(sqlserver)

    if object_id('spFind_Column_In_DB') is not null drop proc spFind_Column_In_DB
    go

    --date:2013-5-10
    --author:dyq
    --decs:搜索数据库中是否存在输入的值
    --results:tablename,columname
    create proc spFind_Column_In_DB
    (
    @type int,--类型:1为文字类型、2为数值类型
    @str nvarchar(100)--需要搜索的名字
    )
    as
    --创建临时表存放结果
    create table #tbl(PK int identity primary key ,tbl sysname,col sysname)
    declare @tbl nvarchar(300),@col sysname,@sql nvarchar(1000)
    if @type=1
    begin
    declare curTable cursor fast_forward
    for
    select '['+SCHEMA_NAME(SCHEMA_ID)+'].['+o.name+']' tableName,'['+c.name+']' columnName from sys.columns c inner join sys.objects o on c.object_id=o.object_id
    where o.type_desc='user_table' and user_type_id in (167,175,231,239,35,99)
    end
    else
    begin
    declare curTable cursor fast_forward
    for
    select '['+SCHEMA_NAME(SCHEMA_ID)+'].['+o.name+']' tableName,'['+c.name+']' columnName from sys.columns c inner join sys.objects o on c.object_id=o.object_id
    where o.type_desc='user_table' and user_type_id in (56,48,52,59,60,62,106,108,122)
    end
    open curtable
    fetch next from curtable into @tbl,@col
    while @@FETCH_STATUS=0
    begin
    set @sql='if exists (select * from '+@tbl+' where '
    if @type=1
    begin
    set @sql += @col + ' like ''%'+@str +'%'')'
    end
    else
    begin
    set @sql +=@col + ' in ('+@str+'))'
    end

    set @sql += ' INSERT #TBL(tbl,col) VALUES('''+@tbl+''','''+@col+''')'
    --print @sql
    exec (@sql)
    fetch next from curtable into @tbl,@col
    end
    close curtable
    deallocate curtable
    select * from #tbl
    drop table #tbl

    exec spFind_Column_In_DB 1,'需要查询包含的值'

  • 相关阅读:
    JS自动化测试 单元测试之Qunit
    mybatis注解开发
    @Valid验证
    httpclient发邮件
    mysql慢查询配置(5.7)
    MySQL5.7.21解压版安装详细教程(转)
    spring注解@Import和@ImportResource
    关于properties文件的读取(Java/spring/springmvc/springboot)
    okclient2详细介绍
    @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
  • 原文地址:https://www.cnblogs.com/guzhengtao/p/14034666.html
Copyright © 2011-2022 走看看