Как мне заполнить временную таблицу?.
Эй
1) временная таблица не создается процедурой.
2) даже я пробовал использовать tempdb..tablename, но не очень полезно
3) поэтому я изменил код, взятый из постоянной таблицы вместо временной таблицы..
и код работает, и постоянная таблица заполняется..
Может ли кто-нибудь, пожалуйста, помочь....
Я не знаю, почему таблица temmp не создается ?
Заранее спасибо..
Что я уже пробовал:
ИЗМЕНИТЬ ПРОЦЕДУРУ USP_FONM_HM
(
@DB_NAME NVARCHAR (MAX), -- DB NAME
@FORMAT_TABLE NVARCHAR (МАКС.),
@FORMAT_NODUPS NVARCHAR(MAX) -- УДАЛИТЬ ТАБЛИЦУ NO DUPS
)
АС
--@SQL_NO_DUPS_ID NVARCHAR (MAX) -- ИЗВЛЕЧЕНИЕ МАКСИМАЛЬНОГО ИДЕНТИФИКАТОРА ИЗ ПРЕДЫДУЩЕГО СКРИПТА
НАЧАТЬ
ОБЪЯВИТЬ @SQL_REMOVE_NODUPS NVARCHAR (MAX) -- ВРЕМЕННАЯ ТАБЛИЦА
ПЕЧАТЬ '-- УДАЛИТЬ ДУБЛИКАТЫ --'
НАЧАТЬ
SET @SQL_REMOVE_NODUPS=
Функция concat
(
"УДАЛИТЬ", ПРОСТРАНСТВО(1),'#',@FORMAT_NODUPS,'
;С SAMPLECTE
АС
(
Выберите A.* , ROW_NUMBER () OVER ( PARTITION BY FIRST_NAME , LAST_NAME , ADDRESS, ZIP ORDER BY FIRST_NAME) в качестве RNUM
ИЗ,КОСМОСА(1), @ИМЯ_БАЗЫ_ДАННЫХ,'..',@FORMAT_TABLE , А
)
ВЫБЕРИТЕ * INTO',ПРОБЕЛ(2) ,'#',@FORMAT_NODUPS , '
ИЗ SAMPLECTE, ГДЕ RNUM=','1','
'
)
КОНЕЦ
PRINT @SQL_REMOVE_NODUPS
EXEC (@SQL_REMOVE_NODUPS)
КОНЕЦ
------------------
СТАРПОМА USP_FONM_HM 'ПРАКТИКА','TEST_FORMAT','TEST_FORMAT_NODUPS'
an0ther1
Локальные временные таблицы доступны только для того соединения, для которого они были созданы. Как только соединение отключается, таблица автоматически удаляется.
Если вы используете SSMS &debug, step through, вашу хранимую процедуру, вы можете использовать обозреватель объектов для просмотра таблицы. Но название не совсем такое, как вы указали.
Таблица будет называться #<tablename>_____<sessionid>
Это гарантирует, что 2 пользователя могут создавать и получать доступ к одной и той же временной таблице одновременно.
с уважением