Не получается. Таблица #Tmp получается локальная.
CREATE PROCEDURE Test2
AS
create table #Tmp(Id2 int)
insert into #Tmp values(2)
select * from #Tmp
drop table #Tmp
CREATE PROCEDURE Test
AS
create table #Tmp(Id1 int)
insert into #Tmp values(1)
exec Test2
select * from #Tmp
drop table #Tmp
В общем задача такова. В процедуре заполняется временная таблица, которая создаётся и уничтожается в других процедурах. Код заполнения довольно большой, поэтому я и решил вынести в отдельную процу, дабы вызывать её из других процедур. В момент заполнения нужно проверить, существует ли в временой таблице поле, если да, то можно его заполнять. Временная таблица создаётся динамически, и колонки которые в ней будут заранее не известны