CREATE PROCEDURE AREAGZZTIME
@HDATETIME VARCHAR(50),
@PROVINCE VARCHAR(20),
@CITY VARCHAR(20),
@AREA VARCHAR(20)
ASSELECT AID=IDENTITY(INT,1,1),ITEM1,ITEM2,ITEM3 INTO #HA
FROM MALERRJOURNAL WHERE ITEM1 IN (select macid from MachineInfo where MacID in
(select MacID from MachineInfo where PropertyValue=@CITY and PropertyCode='11'
 and MacID in (select MacID from MachineInfo where
 PropertyValue=@PROVINCE and PropertyCode='10')) and PropertyCode='12' and PropertyValue=@AREA)
 AND  SUBSTRING(ITEM2,1,10)=@HDATETIME
ORDER BY ITEM1,ITEM2,ITEM3SELECT AID=IDENTITY(INT,1,1),ITEM1,ITEM2 INTO #L1
FROM #HA T
WHERE NOT EXISTS(SELECT 1 FROM #HA WHERE ITEM1=T.ITEM1 AND T.ITEM2 BETWEEN ITEM2 AND ITEM3 AND AID<T.AID)SELECT * INTO #LSB
FROM ( SELECT AID,ITEM1,ITEM2,ITEM3
FROM #HA T
WHERE  NOT EXISTS(SELECT 1 FROM #HA WHERE ITEM1=T.ITEM1 AND ITEM3>=T.ITEM3 AND AID<T.AID)) D SELECT AID=IDENTITY(INT,1,1),ITEM1,ITEM3  INTO #L2
FROM #LSB D 
WHERE NOT EXISTS(SELECT 1 FROM #LSB WHERE ITEM1=D.ITEM1 AND AID>D.AID AND ITEM2 BETWEEN D.ITEM2 AND D.ITEM3)SELECT C.MACHINECODE AS '设备编号',D.PROPERTYVALUE,E.PROPERTYVALUE,
总时间 = SUM(DATEDIFF(SECOND,a.item2,b.item3
)*1.0/3600),SUM(DATEDIFF(SECOND,a.item2,b.item3
)*1.0/3600)/(DATEDIFF(SECOND,D.PROPERTYVALUE,E.PROPERTYVALUE)*1.0/3600)
FROM #L1 A INNER JOIN #L2 B ON A.AID=B.AID INNER JOIN MACHINEINDEX AS C
ON C.MACID=A.ITEM1 INNER JOIN MACHINEINFO AS D ON D.MACID=A.ITEM1 AND D.PROPERTYCODE='36'
INNER JOIN MACHINEINFO AS E ON E.MACID=A.ITEM1 AND E.PROPERTYCODE='37'
GROUP BY A.ITEM1,C.MACHINECODE,D.PROPERTYVALUE,E.PROPERTYVALUEGO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GOSET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO现在偠把这个存储过程转成oracle语法的  因为对oracle很不熟 所以希望哪位高手能帮下忙~