2012-11-13 4 views
3

임시 테이블의 이름을 바꿀 수 있습니까?임시 테이블의 이름을 바꾸는 중 오류가 발생했습니다.

create table #t (id integer); 
execute tempdb.sys.sp_rename '#t', '#s'; 

An invalid parameter or option was specified for procedure 'sys.sp_rename' 

@Michel에 의해 제안 된 솔루션을, 또 다른 임시 테이블에 삽입하고 원본을 삭제 작동하지만 난 그게 얼마나 비싼 것 같아요.

+0

처럼 이전

뭔가의 내용에 새로운 TEMPTABLE를 만드는 것입니다. http://stackoverflow.com/questions/7552550/renaming-a-temporary-table-into-a-physical-one – Turque

+0

@Turque 그 질문은 영원한 테이블로 임시 직원의 이름을 바꾸는 것에 관한 것입니다. 다른 데이터베이스에 있기 때문에 불가능하지는 않지만 분명히 더 복잡합니다. –

답변

3

Tempdb에는 sp_rename 절차가 없습니다. 당신이 할 수있는 것은 나는 그것이 가능하다고 생각하지 않습니다이

select * into #NewName from #OldName 
drop table #OldName 
+0

롤, 당신이 나를 때려 눕힌 것 같습니다 – twoleggedhorse

+0

+1 그 좋은 해결책입니다. – Kaf

+3

'tempdb'는'sp_rename' 프로 시저를 가지고 있습니다. 모든 데이터베이스에서 액세스 할 수 있습니다. 그것은 특별히 # temp 개체에 대한 오류를 발생 시키도록 특별히 코딩되었습니다. –

관련 문제