मेरे पास एक संग्रहीत कार्यविधि है जो एक तालिका में दो अभिलेख सम्मिलित करती है, अभिलेखों के बीच का अंतर यह है कि दूसरे रिकॉर्ड का समय स्तंभ @MinToAddपहले की तरह है:
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
और @MinutesToAddमिनट जोड़ने का सही तरीका क्या है ?
कृपया ध्यान दें कि मैं डेटा प्रकार का उपयोग कर रहा हूं ।@StartTime@EndTimetime
अद्यतन :
एक सही उत्तर में निम्नलिखित जानकारी होनी चाहिए:
timeडेटा प्रकार में मिनट कैसे जोड़ें ।- यह प्रस्तावित समाधान परिशुद्धता के नुकसान में परिणाम नहीं करता है।
- ईवेंट्स या चिंताओं के बारे में इस घटना से अवगत होना चाहिए कि एक
timeचर में फिट होने के लिए मिनट बहुत बड़े होंगे , या चर को रोल करने का जोखिमtimeहोगा। अगर कोई समस्या नहीं है तो कृपया राज्य करें।