2012-06-14 35 views
0

我从Zed Shaw那里读到一段话,他说“如果一个软件开发人员不止一次地写同一个代码,他应该写一个函数,这样他就不必重复自己”。跨多个脚本/选项卡的SQL Server临时表

每天,我发现自己在SQL Server每天不止一次制作临时表。我不需要这些桌子在每天午夜过夜,这就是我选择使用临时表的原因。但是,我在SQL Management Studio的不同标签中有各种脚本 - 我必须在每个脚本中重复这些临时表以引用它,而这看起来效率很低。我的最终目标是运行一个存储过程,它将填充多个临时表并让它们可用来运行我的分析。

是否有更好的方式来引用表比我目前的用法?有没有办法在SQL Server 2008的所有会话中引用临时表?

+0

你可以让他们成为permenant表,但创建一个工作来从他们每天晚上删除数据(并在需要时填充它们)? – Bridge

+0

@Bridge - 这绝对是一种选择。我认为我试图避免基于一些担心我的生活困扰着我的承诺......永久表可能是要走的路...... – mikebmassey

+1

你知道“## TempTable”类型的temp表?。似乎是你想要的。它是一个全球临时表。 http://msdn.microsoft.com/en-us/library/ms177399(v=sql.105).aspx – Lamak

回答

3

看来你想要的是global temporary tables。使用它们的语法与普通临时表相同,但它们有两个##而不是一个(##temptable)。请首先查看链接以了解它们的局限性。