游标会锁表吗???
几个存储过程(“sp1,sp2,sp3,sp4,sp5,sp6”)同时从DAList表中读取不同类型的数据,分别进行各种计算处理。 计算完成后从DAList表删除改条数据。
问题一:
几个存储过程(“sp1,sp2,sp3,sp4,sp5,sp6”)里面都定义了游标“Cur” 从 T_DAList表中查询数据。 那么当这几个存储过程作为作业独立运行的时候,相互之间会不会相互锁定,相互等待???
问题二:
游标和临时表各有什么优缺点??? 什么时候应该使用临时表? 什么时候应该使用游标?
问题三:
这种情况使用游标是不是更合适???
Select @DADayNow = CONVERT(varchar(100), GETDATE(), 112)
--print left(@DADayNow,6)
DECLARE Cur CURSOR FOR --控制只取前25000行数据做计算
SELECT TOP 500 DANo,UpdateTime,LogTime,DataType,DAType,DAYear,DAMonth,DADay,DAHour,CollegeNo,CampusNo,BuildingNo,BuildingType,SumQty,EType,EIndex,
ESubitem,ESubitem1,ESubitem2,Unit,Lable,Note FROM T_DAList
WHERE DataType='Public' and DAType='h' and ESubitem!='' ORDER BY (DAYear+DAMonth+DADay+DAHour)
OPEN Cur