sp_MSforeachtable गैर-दस्तावेजी प्रक्रिया है, लेकिन यह उदाहरण के द्वारा अनुसार: http://avinashkt.blogspot.ru/2008/05/useful-operations-with-spmsforeachtable.html आप तालिकाओं की सूची को सीमित करने के अतिरिक्त दूसरा पैरामीटर @whereand प्रदान कर सकता है।
यह प्रश्न जो संलग्न है, वह निम्न है।
SELECT '[' + REPLACE(schema_name(syso.schema_id), N']', N']]') + ']'
+ '.'
+ '[' + REPLACE(object_name(o.id), N']', N']]') + ']'
FROM dbo.sysobjects o
JOIN sys.all_objects syso
ON o.id = syso.object_id
WHERE OBJECTPROPERTY(o.id, N'IsUserTable') = 1
AND o.category & ltrim(str(CONVERT(INT, 0x0002))) = 0
इसलिए उदाहरण वाक्य रचना
EXEC sp_MSforeachtable @command1 = N'PRINT ''?'' ',
@whereand = 'AND o.id NOT IN (
ISNULL(OBJECT_ID(''[dbo].[T1]''),0),
ISNULL(OBJECT_ID(''[dbo].[T2]''),0)
)'
+1 - मेरा उत्तर :) की बहुत अधिक सुरुचिपूर्ण संस्करण – JNK