SQL Iterate Over All Tables

后端 未结 4 1998
生来不讨喜
生来不讨喜 2021-01-24 07:13

I am running the following code to extract all relevant rows from all tables that have a particular column. The outer IF is supposed to check if the column exists o

4条回答
  •  -上瘾入骨i
    2021-01-24 07:52

    You are very close. Use "EXEC"

    USE WS_Live 
    
    EXECUTE sp_MSforeachtable  
    ' 
        USE WS_Live 
    
        IF EXISTS(  SELECT *  
                    FROM sys.columns 
                    WHERE columns.Object_ID = Object_ID(''?'') 
                    AND Name = ''GCRecord''
                 ) 
        BEGIN
            EXEC(''SELECT * FROM ? WHERE GCRecord IS NOT NULL'')
        END
    '
    

提交回复
热议问题