我使用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的新手,所以我可能会错过这个显而易见的东西。谢谢你的帮助!
答案 0 :(得分:1)
我没有VS2008的副本,但是在VS2013中有一个设置在Options->下面。 Sql Server工具 - > Transact-SQL编辑器 - >查询执行 - >高级表示Disconnect after the query executes
。
我敢打赌你的VS安装有相同的选项设置。