存储过程临时表问题?

时间:2011-07-06 14:10:43

标签: stored-procedures

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你不能创建表,你必须为临时表存储声明变量...用你希望填写的列...声明表变量如下:

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

fill it like
insert into @tmpTable
Select * from table1

use it like
select * from @tmpTable