0
Выполнение блока динамического SQL через sp_executesql, где переменная @ Database1 является параметром хранимой процедуры.Динамический SQL с параметром в FROM FROM
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
Однако я не уверен, как использовать параметр при вызове sp_executesql, в статье из динамического SQL. Можно ли это сделать или я должен рассмотреть другой подход?
Если это всего лишь тест или внутренняя вещь, возможно, подумайте об использовании 'sp_MSforeachtable'. Он недокументирован/может быть удален в любое время, но делает именно то, что вы пытаетесь сделать. [Здесь] (http://blogs.msdn.com/b/chrissk/archive/2010/06/27/example-code-executing-tsql-for-each-table-in-a-database.aspx) пример , – Bridge