Bir tabloya iki kayıt ekler saklı yordam var, kayıtları arasındaki fark ikinci kaydın zaman sütunu @MinToAddilk sonra olmasıdır:
CREATE PROCEDURE CreateEntry
/*Other columns*/
@StartTime time(2),
@EndTime time(2),
@MinutesToAdd smallint
AS
BEGIN
SET NOCOUNT ON;
SET @MinutesToAdd = @MinutesToAdd % 1440; --Prevent overflow if needed?
IF (@MinutesToAdd > 0)
BEGIN
INSERT INTO ClientNotification (/*Other columns*/ startTime, endTime)
OUTPUT inserted.id
VALUES
(/*Other columns*/ @StartTime, @EndTime),
(/*Other columns*/ @StartTime + @MinutesToAdd, @EndTime + @MinutesToAdd);
END
ELSE
BEGIN
/*Whatever ELSE does.*/
END
END
Eklemek için doğru yolu nedir @MinutesToAdddakika @StartTimeve @EndTime? Veri türünü
kullandığımı lütfen unutmayın time.
Güncelleme :
Doğru bir cevap aşağıdaki bilgileri içermelidir:
- Bir
timeveri türüne dakika nasıl eklenir . - Önerilen çözümün hassasiyet kaybına yol açmaması.
- Dakikaların bir
timedeğişkene sığmayacak kadar büyük olması veyatimedeğişkenin devrilme riski olması durumunda dikkat edilmesi gereken hususlar veya endişeler . Sorun yoksa, lütfen bunu belirtin.