zoukankan      html  css  js  c++  java
  • sqlserver 根据内容,查询表和列名字 IT

    --定义参数
    DECLARE @TYPE NVARCHAR(50)    SET @TYPE = 'varchar'
    DECLARE @Express NVARCHAR(50)    SET @Express = 'like ''%chao.ma%'''

    --定义游标->表+栏位
        
    DECLARE MY_CURSOR CURSOR FOR         
    SELECT  t.[name] AS [table],c.[name] AS [column]
    FROM    sys.tables t
    INNER JOIN sys.columns c ON t.object_id = c.object_id
    WHERE   c.system_type_id = TYPE_ID(@TYPEAND t.[name] LIKE '%User%'  
    ORDER BY t.[name] ,c.[name]

    DECLARE @table NVARCHAR(50) ,    @column NVARCHAR(50)
    DECLARE @sql NVARCHAR(max)
    DECLARE @sql2 NVARCHAR(max)
    OPEN MY_CURSOR
        FETCH NEXT FROM MY_CURSOR INTO @table,@column
        WHILE @@FETCH_STATUS = 0 
            BEGIN
                
                SET @sql='SELECT *  FROM ['+@table +'] WHERE [' + @column+''+@Express
                SET @sql2='IF EXISTS('+@sql+')'+' PRINT '''+REPLACE(@sql,'''',''''''+ ''' '
            
                EXEC SP_EXECUTESQL @sql2    
                FETCH NEXT FROM MY_CURSOR INTO @table,@column
            END
        CLOSE MY_CURSOR
        DEALLOCATE MY_CURSOR
        

     显示结果,可看到有记录的sql语句组合:

    SELECT *  FROM [User] WHERE [AD] like '%chao.ma%'
    SELECT *  FROM [UserBatchImport] WHERE [AD] like '%chao.ma%'
     
  • 相关阅读:
    Chino 操作系统开发日志 (1)
    将Asp.Net Core和corefx移植到.Net 4.0
    C++编写操作系统(1):基于 EFI 的 Bootloader
    第二次作业:支付宝手机软件分析
    第一次作业:以人为鉴 可以明得失
    个人附加作业
    个人作业3---个人总结
    结对编程2---单元测试
    个人作业2---必应词典案例分析
    结对编程作业1
  • 原文地址:https://www.cnblogs.com/machaofast/p/2314288.html
Copyright © 2011-2022 走看看