DROP PROCEDURE IF EXISTS uspUpdateDktFeladatHelyettesitoAlkalmazott GO CREATE PROCEDURE uspUpdateDktFeladatHelyettesitoAlkalmazott @pOrarendiOraId int ,@pHelyettesitesNapja datetime ,@pHelyettesitoAlkalmazottId int = NULL AS BEGIN SET NOCOUNT ON; DECLARE @ooAlkalmazottId int, @ooOsztalyCsoportId int, @ooTantargyId int, @ooOraszam int, @ooOraKezdete datetime; SELECT @ooAlkalmazottId = oo.C_TANARID, @ooOsztalyCsoportId = oo.C_OSZTALYCSOPORTID, @ooTantargyId = oo.C_TANTARGYID ,@ooOraszam = oo.C_ORASZAM, @ooOraKezdete = oo.C_ORAERVENYESSEGKEZDETE FROM T_ORARENDIORA oo WHERE oo.ID = @pOrarendiOraId AND TOROLT = 'F' AND ((@pHelyettesitesNapja >= oo.C_ORAERVENYESSEGKEZDETE AND @pHelyettesitesNapja < oo.C_ORAERVENYESSEGVEGE) OR (oo.C_ORAERVENYESSEGKEZDETE = oo.C_ORAERVENYESSEGVEGE AND oo.C_ORAERVENYESSEGKEZDETE = @pHelyettesitesNapja)) UPDATE dktFeladat SET C_HELYETTESITOALKALMAZOTTID = @pHelyettesitoAlkalmazottId FROM T_DKT_FELADAT dktFeladat WHERE dktFeladat.C_DATUM = @pHelyettesitesNapja AND dktFeladat.TOROLT = 'F' AND dktFeladat.C_ALKALMAZOTTID = @ooAlkalmazottId AND dktFeladat.C_OSZTALYCSOPORTID = @ooOsztalyCsoportId AND dktFeladat.C_TANTARGYID = @ooTantargyId AND (dktFeladat.C_ORASZAM = @ooOraszam OR @pHelyettesitesNapja + @ooOraKezdete = dktFeladat.C_IDOPONT) END GO