আমার কাছে একটি সঞ্চিত প্রক্রিয়া রয়েছে যা একটি টেবিলে দুটি রেকর্ড সন্নিবেশ করায়, রেকর্ডগুলির মধ্যে পার্থক্য হ'ল দ্বিতীয় রেকর্ডের টাইম কলামটি @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
এবং @EndTime
?
দয়া করে নোট করুন আমি time
ডেটা টাইপ ব্যবহার করছি ।
আপডেট :
একটি সঠিক উত্তরে নিম্নলিখিত তথ্য থাকা উচিত:
- কোনও
time
ডেটা টাইপে মিনিট কীভাবে যুক্ত করবেন । - প্রস্তাবিত সমাধানটির যথার্থতা হারাতে পারে না।
- সমস্যাগুলি বা উদ্বেগগুলি সচেতন হওয়ার মতো ঘটনাগুলি যেগুলি চলকগুলিতে ফিট করার জন্য মিনিটগুলি খুব বেশি বড় হবে
time
, বাtime
ভেরিয়েবলটি ঘূর্ণায়মানের ঝুঁকি । যদি কোনও সমস্যা না থাকে তবে দয়া করে তাই বলুন।