DECLARE @tmp_tab VARCHAR(20)
SELECT @TMP_TAB = '#TMP_TAB_BANK' + CAST(USER_ID(USER) AS NVARCHAR)
+ CAST(@@SPID AS NVARCHAR)
EXEC('CREATE TABLE ' + @TMP_TAB + (ID INT NULL, NAME VARCHAR NULL)')
//Break point
EXEC('select * from ' + @TMP_TAB)
Я работаю в SQL Server 2005. В приведенном выше коде я решаю, как назвать мою временную таблицу. Затем я создаю временную таблицу. Если я запускаю только эти коды, я получаю сообщение Commands completed successfully
.
Однако, если я выполню последнюю строку кода для извлечения данных (ну, я знаю, что она пуста), я получу
неверное имя объекта '# TMP_TAB_BANK157'
Почему я не могу получить записи из только что созданной таблицы? Если временная таблица не была создана, то почему я не получаю никаких предупреждений?