본문 바로가기

프로그래밍/MSSQL

[MSSQL] 테이블 '#테이블명'이(가) 없거나 권한이 없어서 삭제할 수 없습니다.

반응형

 

 

 

테이블 '#테이블명'이(가) 없거나 권한이 없어서 삭제할 수 없습니다. 오류 해결

 

 

1. 임시 테이블 #TEMP1을 생성하고 쿼리 실행 후 마지막에 테이블을 반납하는 프로시저 A 생성

2. 프로시저B에서 프로시저 A를 호출하는 쿼리를 작성 => 오류 발생

 

테이블 '#TEMP1'이(가) 없거나 권한이 없어서 삭제할 수 없습니다.

 

프로시저 A에서 임시 테이블 #TEMP1을 반납하는 부분에서 문제가 발생한 것으로 보인다.

-> 해당 테이블이 존재하는지 체크 후 삭제하도록 하자

 

 

 

첫 번째 방법

 

IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE name = '#TEMP1')
    BEGIN
        DROP TABLE #TEMP1
    END

 

 

두 번째 방법

 

IF OBJECT_ID('tempdb..#TEMP1') IS NOT NULL
    BEGIN
       DROP TABLE #TEMP1
    END

 

 

 

 

반응형