user194076 user194076 - 2 months ago 22
SQL Question

How to exclude tables from sp_msforeachtable

I know that sp_msforeachtable allows to perform queries on all tables.
I have 100 tables and I want to perform the same query on 97 tables.
I'm using this query:

EXEC sp_MSForEachTable "DELETE FROM ?"


Is it possible to exclude certain tables?

Answer
EXEC sp_MSforeachtable 'IF OBJECT_ID(''?'') NOT IN (
                                                    ISNULL(OBJECT_ID(''[dbo].[T1]''),0),
                                                    ISNULL(OBJECT_ID(''[dbo].[T2]''),0)
                                                   )
                        DELETE FROM ?'