PDW中的临时表在第一次执行后消失

时间:2015-02-13 19:37:48

标签: sql-server visual-studio-2008 temp-tables

我使用Visual Studio 2008 Server Explorer数据连接和相关的查询设计器(不是我所知的理想组合)连接到PDW(并行数据仓库)2012数据库。

如果我一次运行以下所有三个陈述,我会得到结果:

    create table #diagnosis_condition (dx_code varchar(4), condition_code char(3)) WITH (LOCATION = USER_DB)
    insert into #diagnosis_condition (dx_code,condition_code) values ('J45','AST')
    SELECT * FROM #diagnosis_condition

    Results: J45    AST

如果在此之后我从查询窗口中删除了“创建”和“插入”行并重新执行“选择”,我收到错误:

SQL Execution Error.   
Executed SQL statement: SELECT * FROM [#diagnosis_condition]  
Error Source: .Net SqlClient Data Provider  
Error Message: Invalid object name '#diagnosis_condition'.

如果我在SQL Server Management Studio中使用非PDW数据库连接执行相同操作,则临时表仍然存在,并且我再次获得相同的结果。

为什么我的Visual Studio PDW连接的行为有所不同?这是PDW问题还是Visual Studio Query Designer问题或用户错误?我想保留临时表(当然有更多行),这样我就可以在块中运行我的后续代码,而不必每次都重新创建表。我不是SSMS的新手,但我是PDW和VS的新手,所以我可能会错过这个显而易见的东西。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我没有VS2008的副本,但是在VS2013中有一个设置在Options->下面。 Sql Server工具 - > Transact-SQL编辑器 - >查询执行 - >高级表示Disconnect after the query executes

我敢打赌你的VS安装有相同的选项设置。