小编Jos*_*ski的帖子

根据WHERE子句抑制SELECT输出

我在这里有一个查询,在整个数据库中搜索我选择的特定GUID.现在,它正在完成它的编程操作:遍历所有列/表组合并输出可能包含或不包含信息的表.我想将此更改为仅输出包含结果的表.

这是代码:

DECLARE 
    @tab_list NVARCHAR(MAX),
    @col_list NVARCHAR(MAX),
    @IDquery NVARCHAR(MAX),
    @srvName NVARCHAR(MAX),
    @getList CURSOR

SET @srvName = 'Server_Name'

SET @getList = CURSOR LOCAL FAST_FORWARD FOR
    SELECT [TABLE_NAME]
        ,[COLUMN_NAME]
    FROM [Server_Name].[INFORMATION_SCHEMA].[COLUMNS]
    WHERE [COLUMN_NAME] LIKE '%id'
        AND [DATA_TYPE] LIKE 'uniqueidentifier'
    ORDER BY [TABLE_NAME] ASC

OPEN @getList

FETCH NEXT FROM @getList INTO @tab_list, @col_list

WHILE (@@FETCH_STATUS = 0)
BEGIN       
    PRINT @tab_list + ' -- ' + @col_list

    SET @IDquery = 
        'SELECT *' + 
        ' FROM ' + @srvName + '.dbo.' + @tab_list + 
        ' …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server guid cursor

2
推荐指数
1
解决办法
376
查看次数

标签 统计

cursor ×1

guid ×1

sql ×1

sql-server ×1

t-sql ×1