두 개의 레코드를 테이블에 삽입하는 저장 프로 시저가 있는데 레코드의 차이점은 두 번째 레코드의 시간 열 @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
입니다. 문제가 없다면, 그렇게하십시오.