Lo que está tratando de hacer es posible, pero no utiliza su enfoque actual. Este es un problema muy común con todas las soluciones posibles antes de SQL Server 2008 que tenían compensaciones relacionadas con el rendimiento, la seguridad y el uso de la memoria.
Este enlace muestra algunos enfoques para SQL Server 2000/2005
SQL Server 2008 admite pasar un parámetro de valor de tabla.
Espero que esto ayude.