2016-08-05 2 views
1

У меня есть этот код, который должен отбросить временную таблицу, если он существует, но я все еще получаю сообщение об ошибке: Cannot drop the table '#jobsconsumed', because it does not exist or you do not have permission. Не мог бы кто-нибудь помочь мне? Мой И.Т. admin не считает, что это проблема с разрешениями.#temp таблица не сбрасывается

IF (SELECT object_id('TempDB.#jobsconsumed')) IS NULL 
    BEGIN 
    DROP Table #jobsconsumed 
END 
+1

Я думаю, вы должны попробовать две точки: 'TempDB .. # jobsconsumed' – HoneyBadger

+0

Что означает 2 точки делать? – whatwhatwhat

+1

И, вероятно, 'НЕ НУЛЛ' - это логика, которую вы действительно хотите. Зачем удалять то, чего не существует? –

ответ

3
IF (SELECT object_id('TempDB.#jobsconsumed')) IS NULL 
    BEGIN 
    DROP Table #jobsconsumed 
END 

Приведенный выше код будет ввести Begin положение, только тогда, когда TempTable присутствует ..

Для проверки и падение TempTable, правильный путь ниже

IF object_id('Tempdb..#test') is Not null 
is same as 
    IF object_id('Tempdb.dbo.#test') is Not null 
Drop Table #test 

Там нет необходимости предложения Begin AND END в этом случае, поскольку IF будет выполнять немедленное заявление, когда true

s екоторые испытания схемы аспекты таблиц TEMP ..

use tempdb; 

create schema hr 

create table hr.#t(c int) --this will work 
create table #t(c int) --this will fail 

create table #t1 --no schema ,so it will create a temp table in DBO Schema by default. 

--To drop the table 
drop table #t --this will drop across all schemas 
+0

Вопрос: Я использую эту строку, чтобы поместить значения в таблицу #temp. '(SELECT t.ref_num, t.ref_line_suf INTO #jobsconsumed FROM ISW_LPTrans AS t WHERE t.item = @item И t.lot = @lot AND (t.trans_type = 'I' ИЛИ ​​t.trans_type = 'W')) 'Но по вашему ответу это должно завершиться неудачно, потому что я использую' # jobsconsumed' вместо 'dbo. # Jobsconsumed'. Почему он не терпит неудачу? – whatwhatwhat

+1

он не подведет, bcoz он по умолчанию создаст в dbo .schema – TheGameiswar

Смежные вопросы