Существует несколько видов временных таблиц, я думаю, что Вы могли использовать таблицу, которая не отбрасывается после того, как SP использовал ее. Просто удостоверьтесь, что Вы не называете тот же SP дважды, или Вы получите ошибку при попытке составить существующую таблицу. Или просто отбросьте временную таблицу после того, как Вы видите, что это довольно. Таким образом вместо того, чтобы использовать табличную переменную (@table
) просто используйте #table
или ##table
Из http://arplis.com/temporary-tables-in-microsoft-sql-server/:
Отредактируйте хранимую процедуру для временного выбора * из временных таблиц (возможно в другую таблицу или файл, или только к области вывода), когда это работает..?
Можно затем возвратить его впоследствии. Если Вы не можете смешать с исходной процедурой, скопируйте ее и отредактируйте копию.
Чтобы подробно остановиться на предыдущих предложениях, чтобы Вы бросили данные в постоянную таблицу, Вы могли попробовать следующее:
-- Get rid of the table if it already exists
if object_id('TempData') is not null
drop table TempData
select * into TempData from #TempTable
Это помогло мне.
SELECT * FROM #Name
USE [TEMPDB]
GO
SELECT * FROM syscolumns
WHERE id = ( SELECT id FROM sysobjects WHERE [Name] LIKE '#Name%')
это предоставляет подробную информацию всей временной таблицы