Ya lo revisé y no le encuentro la vuelta, me pueden ayudar cómo debo mejorarlo.
La idea de este SP es si un Aula o Curso no tiene un horario definido entonces realizar un insert o de lo contrario update.
Código SQL:
Ver original
CREATE PROCEDURE HORARIO_AULA_ACTUALIZAR_INSERTAR @Aula_Id INT, @Lunes BIT, @Martes BIT, @Miercoles BIT, @Jueves BIT, @Viernes BIT, @HoraDesde DATETIME, @HoraHasta DATETIME AS BEGIN IF ((SELECT COUNT(hc.Id) FROM HORARIO_AULA ha WHERE ha.Aula_id = @Aula_Id ANDha.Activo = 1) > 0) BEGIN UPDATE HORARIO_AULA SET Lunes = @Lunes ,Martes = @Martes ,Miercoles = @Miercoles ,Jueves = @Jueves ,Viernes = @Viernes ,Sabado = @Sabado ,HoraDesde = @HoraDesde ,HoraHasta = @HoraHasta WHERE Aula_Id = @Aula_Id AND Activo = 1 END ELSE BEGIN DECLARE @Maximo_Id BIGINT SELECT @Maximo_Id = ISNULL((COUNT(Id)+1), 1) FROM HORARIO_AULA INSERT INTO HORARIO_AULA (Id, Aula_Id, Lunes, Martes, Miercoles, Jueves, Viernes, HoraDesde, HoraHasta, Activo) VALUES (@Maximo_Id, @Aula_Id, @Domingo, @Lunes, @Martes, @Miercoles, @Jueves, @Viernes, @HoraDesde, @HoraHasta, 1) END END
Saludos,