Нет. Не могу этого сделать. К сожалению, в T-SQL нет макрокомандировщика. Самое близкое, что вы получите, это режим SQLCMD, но он предназначен только для сценариев, его нельзя использовать в определениях объектов.
Вы делаете одно и то же для стола каждый раз?
Вы можете динамически переопределить синоним, но для этого все еще требуется EXEC, и вы теряете параллелизм. Вы можете сериализовать выполнение с помощью очереди, но в этот момент вам может быть лучше с простым старым динамическим SQL.
Вы можете попробовать временные таблицы, не переданные как переменные, но созданные в родительском соединении или вызывающей процедуре. например.
create proc #proc as
select * from #table
go
create table #table (col1 int)
insert #table values (1)
insert #table values (2)
insert #table values (3)
go
exec #proc
go
Дополнительные способы обмена данными между хранимыми процедурами см. Здесь: http://www.sommarskog.se/share_data.html