日期:2014-05-18 浏览次数:20509 次
疯子, 这个临时表不是在动态语句中创建的。作用域还在。。。 不信你可以试试: create proc wsl as select * into # from aaa select * from # 然后调用该存储过程绝对没错。。。 另楼主,你的存储过程应该没什么问题,应该是你调用错了。。 正确调用: exec selectDepAndUser @DepID=2,@UserID = 24 --或者: exec selectDepAndUser 2,24 切勿: exec selectDepAndUser (@DepID=2,@UserID = 24)
------解决方案--------------------
呵呵,我还以为她又查一遍呢
听楼主说是为了下次查询,那应该就是想调用第一次过程后,
调用第二次过程,然后临时表就是2条记录(比如没次一条)
----------------------
如果是想查为什么临时表为空,该是insert into 后面select语句没岔道数据
------解决方案--------------------
select DepID,DepName,DepNumClass from DepB where DepNumClass=2有数据?
------解决方案--------------------
临时表用完以后要删了啊
------解决方案--------------------
TO楼主,你的存储过程没问题。没有返回结果。可以把你最后的return去掉试一下。。。
另外调试下,看是否本来就没有符合条件的数据。。。
------解决方案--------------------
用完后:drop table #DepB_temp
另外,内存表是有时间的,不会一直占驻,时间久了数据就没了。
------解决方案--------------------
楼主表达的实在不清楚,
过程还return干什么啊?
------解决方案--------------------
select UserB.UserID, UserB.UserInfoName,UserB.UserName,UserB.DepID, DepB.DepID, DepB.DepName,DepB.DepNumClass from DepB inner join userb on DepB.DepID=UserB.DepID where DepB.DepNumClass=@DepID