• 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%'
     
  • 相关阅读:
    写了一个Rijndael工具类
    使用bcel动态创建class
    有感于大理古城的天主教堂
    joj 1089 &&zoj 1060&&poj 1094 以及wa的分析和数据
    joj1026
    joj 1317
    joj 1171
    joj 2343
    joj 1078 hdu 1116
    joj 1189
  • 原文地址:https://www.cnblogs.com/machaofast/p/2314288.html
Copyright © 2020-2023  润新知