0
通過sp_executesql執行一個動態SQL塊,其中@ Database1變量是存儲過程的參數。使用FROM子句中的參數動態SQL
SET @SQL = ''
SET @SQL =
'SELECT @@SERVERNAME, @DB, ''Schema name'', s.name, t.name, stype.Name, scol.length
INTO ##TableList
FROM '[email protected]+'.sys.tables t
INNER JOIN '[email protected]+'.sys.schemas s
ON t.schema_id = s.schema_id'
EXEC sp_executesql @SQL, N'@DB UNIQUEIDENTIFIER', @DB = @Database1
但是我不確定如何在動態SQL的from子句中使用sp_executesql調用中的參數。有可能做到這一點,或者我應該考慮一種不同的方法?
如果這只是一個測試或內部事物,或許可以考慮使用'sp_MSforeachtable'。這是無證的/可以在任何時候退休,但確實是你想要做的。 [Here's](http://blogs.msdn.com/b/chrissk/archive/2010/06/27/example-code-executing-tsql-for-each-table-in-a-database.aspx)示例。 – Bridge