Добавить вспомогательные сообщения об ошибках в созданные пользователем функции - PullRequest
0 голосов
/ 09 мая 2018

У меня есть эта функция в SQL Server 2014:

CREATE FUNCTION [dbo].[jdate_practice] 
     (@p1 INT,
      @p2 CHAR(8)) 
RETURNS INT
AS 
BEGIN
    DECLARE @v2 DATETIME
    SET @v2 = CAST(@p2 AS DATETIME)

    RETURN ((DATEPART(yyyy, @v2) * 12) + 
             DATEPART(mm, @v2)) - ((@p1 * 12) + 6) 
END

такой, что

select dbo.jdate_practice(2018, '20180701')

возвращает число 1, поскольку 2018 год является началом финансового года, а 20180701 - первым месяцем финансового года.

Я хочу включить функцию обработки ошибок, чтобы при отсутствии каких-либо аргументов вместо указания значения по умолчанию

Было предоставлено недостаточное количество аргументов ...

функция вернет

Пожалуйста, введите год в формате ГГГГ для @ p1

или

Пожалуйста, введите дату в формате ГГГГММДД для @ p2

Я пытался написать это сам с некоторым пониманием операторов IF и оператора THROW, но не смог получить правильный синтаксис функции для создания.

...