Search code examples
sqlsql-serversp-msforeachtable

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?


Solution

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