2012-11-13 56 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

我不認爲這是可能的。 http://stackoverflow.com/questions/7552550/renaming-a-temporary-table-into-a-physical-one – Turque

+0

@Turque這個問題是關於重命名臨時表到永久表。由於它們駐留在不同的數據庫中,顯然它更復雜,如果不是不可能的話。 –

回答

3

Tempdb沒有sp_rename過程。你可以做的是創造和你的舊

東西的內容的新不是Temptable這樣

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

哈哈,看起來像你打我吧 – twoleggedhorse

+0

+1這是一個很好的解決方案。 – Kaf

+3

'tempdb'沒有'sp_rename'過程。這可以在所有數據庫中訪問。它被特別編碼來引發'#temp'對象的錯誤。 –