Hi, I have the following stored proc in SQL Server 2005:
ALTER PROCEDURE [dbo].[slot_sp_EngineerTimeslots_Group] @PROPREF VARCHAR(50), @PRIORITYCODE VARCHAR(3), @JOBLENGTH INT = 0, @TIMESLOT VARCHAR(3) AS SET NOCOUNT ON DECLARE @TOTALDAYS INT DECLARE @TOTALDAYSTARGET INT DECLARE @COUNTER INT DECLARE @STARTTIME DATETIME DECLARE @MIDDAYTIME DATETIME DECLARE @ENDTIME DATETIME DECLARE @STARTDATE DATETIME DECLARE @iSTARTDATE DATETIME DECLARE @CONTRACT VARCHAR(10) SET @iSTARTDATE = GETDATE() SET @STARTDATE = CONVERT(DATETIME,CONVERT(VARCHAR(10),@iSTARTDATE,120) + ' 00:00:00',120) SELECT @CONTRACT = CONTRACT FROM [tbl_property] WHERE [PROPREF] = @PROPREF -- Get the contract Start/MidDay/End times Select @STARTTIME = CONVERT(VARCHAR(10), @STARTDATE, 120) + ' ' + CONVERT(VARCHAR(5), ContractStartTime, 108), @MIDDAYTIME = CONVERT(VARCHAR(10), @STARTDATE, 120) + ' ' + CONVERT(VARCHAR(5), ContractMiddayTime, 108), @ENDTIME = CONVERT(VARCHAR(10), @STARTDATE, 120) + ' ' + CONVERT(VARCHAR(5), ContractEndTime, 108) From [tbl_contract] WHERE [tbl_contract].[CONTRACT] =@CONTRACT -- Get Priority Times Select @TOTALDAYS = CASE WHEN ROUND(NEARCOMPLETEDURATION/24,0) < NEARCOMPLETEDURATION/24 THEN ROUND(NEARCOMPLETEDURATION/24,0) + 1 ELSE ROUND(NEARCOMPLETEDURATION/24,0) END, @TOTALDAYSTARGET = CASE WHEN ROUND(COMPLETEDURATION/24,0) < COMPLETEDURATION/24 THEN ROUND(COMPLETEDURATION/24,0) + 1 ELSE ROUND(COMPLETEDURATION/24,0) END FROM [ltbl_order_priority] WHERE [ltbl_order_priority].[CONTRACT] = @CONTRACT AND [ltbl_order_priority].[PRIORITYCODE] = @PRIORITYCODE -- Not sure what this is for yet butits going to be fun! SET @COUNTER = 0 BEGIN --Create Temp Table CREATE TABLE
Problem
thr is that although it is assumed that the rows from the temp table in linq return int, is there a reason why this will happen?
source share