亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

在SQL2008查找某數(shù)據(jù)庫(kù)中的列是否存在某個(gè)值

系統(tǒng) 2089 0
原文: 在SQL2008查找某數(shù)據(jù)庫(kù)中的列是否存在某個(gè)值

在SQL2008查找某數(shù)據(jù)庫(kù)中的列是否存在某個(gè)值

      
        --
      
      
        SQL2008查找某數(shù)據(jù)庫(kù)中的列是否存在某個(gè)值
      
      
        create
      
      
        proc
      
      
         spFind_Column_In_DB

(

    
      
      
        @type
      
      
        int
      
      ,
      
        --
      
      
        類(lèi)型:1為文字類(lèi)型、2為數(shù)值類(lèi)型
      
      
        @str
      
      
        nvarchar
      
      (
      
        100
      
      )
      
        --
      
      
        需要搜索的名字
      
      
        )


      
      
        as
      
      
        --
      
      
        創(chuàng)建臨時(shí)表存放結(jié)果
      
      
        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




      
      
        --
      
      
        使用例子,查詢(xún)庫(kù)中存在aaa這個(gè)值的列:
      
      
        exec
      
        spFind_Column_In_DB  
      
        1
      
      ,
      
        '
      
      
        aaa
      
      
        '
      
    

?

在SQL2008查找某數(shù)據(jù)庫(kù)中的列是否存在某個(gè)值


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久月婷婷| 久久精品亚洲精品一区 | 亚洲v在线 | 欧美91精品久久久久网免费 | 天天躁日日躁aaaaxxxx | 亚洲狠狠婷婷综合久久久久图片 | 在线看片黄色 | 日韩在线国产精品 | 中文字幕久热 | 亚洲视频1区 | 99久久精品国产一区二区三区 | 久热精品视频在线播放 | 国产99在线播放免费 | 精品欧美一区二区在线观看 | 拍拍拍精品视频在线观看 | 国产精品高清一区二区三区 | 日韩国产在线 | 在线一区国产 | 麻豆日韩 | 91精品自在拍精选久久 | 福利在线视频观看 | 午夜成年人网站 | 免费一级a毛片在线播放视 免费一级成人毛片 | 国内久久久久高清影视 | 韩国高清乱理伦片中文 | 热久久这里只有精品 | 香香影院在线观看 | 国产高清美女一级a毛片久久 | 呦系列视频一区二区三区 | 色综合欧美综合天天综合 | 高清不卡视频 | 国产网红在线视频 | 久久精品观看影院2828 | 波多野一区二区三区在线 | 神马啪啪| 国产精品久久久久久久久免费观看 | 日本人成年视频在线观看 | 久久99精品国产自在现线小黄鸭 | 特级毛片全部免费播放a一级 | 湿湿影院在线观看 | 九九精品免费 |