Vad menar du med fungerar inte? I applikationen eller i QA eller i både och?
Du bör ha SET NOCOUNT ON i procedurer som gör mer än en sak, eftersom varje statement returnerar ett resultat.
Mvh
3 svar · 182 visningar · startad av doggelito
har problem med denna, inserten körs men inte selecten därefter.
selecten verkar inte fatta att ett datum har lagts in av inserten.
selecten efter else fungerar och båda selectsatserna är lika.
CREATE PROCEDURE dbo.sp_productionlog_setup_raport
@Objectid int,
@Active int,
@Shiftday int,
@Current_date datetime
AS
declare @Setupid int
if (
Select Count(*)
From Productionlog_setup_date
Where Objectid = @Objectid And Regdate = @Current_date) = 0
begin
Select @Setupid = Setupid From Productionlog_setup Where Active = 1
Insert Into Productionlog_setup_date (Objectid, Setupid, Regdate) Values
(@Objectid, @Setupid, @Current_date)
Select s.Setupid, s.Shift, s.Totaltime, s.Cycletime, s.Active, s.Diff, s.Fromdate, s.Regdate,
sh.Shiftday, sh.Starttime_n, sh.Stoptime_n, sh.Starttime_f, sh.Stoptime_f, sh.Starttime_e, sh.Stoptime_e, sh.Regdate
From Productionlog_setup s
Left Join Productionlog_shift sh On s.Setupid = sh.Setupid
Left Join Productionlog_setup_date d On s.Setupid = d.Setupid
Where s.Objectid = @Objectid And
coalesce(@Active, s.Active) = s.Active And
coalesce(@Shiftday, sh.Shiftday) = sh.Shiftday And
d.Regdate = @Current_date
Order By sh.Shiftday
end
else
Select s.Setupid, s.Shift, s.Totaltime, s.Cycletime, s.Active, s.Diff, s.Fromdate, s.Regdate,
sh.Shiftday, sh.Starttime_n, sh.Stoptime_n, sh.Starttime_f, sh.Stoptime_f, sh.Starttime_e, sh.Stoptime_e, sh.Regdate
From Productionlog_setup s
Left Join Productionlog_shift sh On s.Setupid = sh.Setupid
Left Join Productionlog_setup_date d On s.Setupid = d.Setupid
Where s.Objectid = @Objectid And
coalesce(@Active, s.Active) = s.Active And
coalesce(@Shiftday, sh.Shiftday) = sh.Shiftday And
d.Regdate = @Current_date
Order By sh.Shiftday
Vad menar du med fungerar inte? I applikationen eller i QA eller i både och?
Du bör ha SET NOCOUNT ON i procedurer som gör mer än en sak, eftersom varje statement returnerar ett resultat.
Mvh
Tja, det behövdes tydligen inte mer än så, satte dit SET NOCOUNT ON och nu funkar det! :)