после вызова хранимой процедуры временная таблица затем «выпадает из области видимости» и удаляется, когда вы возвращаетесь в какую-либо вызывающую процедуру.
Возможно, вы заметили, что в SSMS таблица #temp не работает после вызова кода в окне, которое создает временную таблицу.
Вы можете поэкспериментировать с ## временными таблицами, которые сохраняютсяпока соединение, которое создало их, не будет закрыто.Но будьте осторожны, они видны глобально для всех соединений.
declare @user nvarchar(100), @sql nvarchar(100);
SET @user = 'don';
SET @user = @user + REPLACE(cast(newid() as nvarchar(100)),'-','');
print @user;
set @sql = 'CREATE TABLE ##'+@user+' (Tipo nvarchar(10),Val float)'
exec(@sql);
print @@error;
set @sql = 'INSERT ##' + @user + ' VALUES(''foo'',3.14)'
exec(@sql);
set @sql = 'SELECT * FROM ##' + @user;
exec(@sql);