多用戶執行存儲過程,臨時表的使用~
存儲過程產生一些數據信息,我把它存放在T1中,以供它用.
每次存放前都:if object_id( 'T1 ') is not null
drop table T1
而后才是insert 動作。
--------------
問題是:
1,如果我把T1創建為臨時表,那在存儲過程執行完畢后,其中信息也隨之丟失.其他地方肯定是獲取不了信息的~
2.如果創建為物理表,又存在多用戶操作同一T1的危險。。
請教高手,如此問題該如何解決??
------解决方案--------------------1,如果我把T1創建為臨時表,那在存儲過程執行完畢后,其中信息也隨之丟失.其他地方肯定是獲取不了信息的~
在存储过程里面将结果集返回:
select * from #臨時表
2.如果創建為物理表,又存在多用戶操作同一T1的危險。
显然不能用物理表。
------解决方案--------------------我以前是这么处理这种状况的
1.在存储过程中创建动态表名的物理表,确保多用户不会操作同一表
2.在外面调用完成后删除表
--把在存储过程中建的表名传出去,以便你能正确使用和删除。