2011-07-06 75 views
1

我正在使用存储过程将数据从两个不同的数据库提取到ASP.NET应用程序。我的存储过程如下工作 - 或检查全局临时表中存在的不说## temp_table - 从两个不同的数据库中提取数据,并将其填写 - 如果存在,则删除它,如果不建立新的临时表说## temp_table 临时表 - 从临时表 选择数据 - 删除临时表存储过程临时表问题?

现在的问题是,当用户访问同一页面相同的存储过程的数量正上方,然后到一些用户得到它错误临时表已经存在。 现在请有人帮我解决这个问题,或者建议我替代一些,因为我不想在ASP代码中编写查询。有人建议我使用意见。等待你的建议。

回答

0

“##”表是通过对SQL实例的所有连接访问,而“#”表是只能由创建它们的连接。您所描述的功能听起来像应该使用“#”表格,而不是“##”表格。

0

您不能创建表时,必须声明变量临时表存储...与列你期望填写...申报表变量是这样的:

declare @tmpTable table(myID int,myName varchar(50)); 

fill it like 
insert into @tmpTable 
Select * from table1 

use it like 
select * from @tmpTable 
+0

“@”临时表会工作也是如此。 @和#表格非常相似,最好使用最终取决于正在完成的工作。 –

+0

感谢您如此快速地将解决方案发布到我的问题。我会尝试这两种解决方案,并明天发布我的结果。 –

+0

这是完美的解决方案,我的问题已得到解决。谢谢 –