2012-11-13 55 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'对象的错误。 –