Na SQL Server 2008+ je možné použít parametry tabulky hodnot k předání proměnné tabulky do dynamického příkazu SQL, pokud nepotřebujete aktualizovat hodnoty v samotné tabulce.
Takže z kódu, který jste zveřejnili, můžete tento přístup použít pro @TSku
ale ne pro @RelPro
Příklad syntaxe níže.
CREATE TYPE MyTable AS TABLE
(
Foo int,
Bar int
);
GO
DECLARE @T AS MyTable;
INSERT INTO @T VALUES (1,2), (2,3)
SELECT *,
sys.fn_PhysLocFormatter(%%physloc%%) AS [physloc]
FROM @T
EXEC sp_executesql
N'SELECT *,
sys.fn_PhysLocFormatter(%%physloc%%) AS [physloc]
FROM @T',
N'@T MyTable READONLY',
@[email protected]
physloc
sloupec je zahrnut jen proto, aby demonstroval, že proměnná tabulky odkazovaná v podřízeném rozsahu je rozhodně stejná jako vnější rozsah, nikoli kopie.