Используйте параметры DEFAULT в функции

Мне нужно отправить в мою функцию (которую я создаю) ряд параметров, которые в какой-то момент МОГУТ игнорироваться и не вызываться при вызове.

select * from ESTADO_CUENTA('5', NULL, NULL, '01/01/2019', NULL)

ALTER FUNCTION [dbo].[ESTADO_CUENTA]
    (@Ingenio char(1) ='5',
     @Semana int = 48,
     @Zafra int = 2019,
     @FechaInicio date = '01/01/2019',
     @FechaFinal date = '01/12/2019')

RETURNS @retTablaDatos TABLE
(
    SEMANA INT NOT NULL,
    SAFRA INT NOT NULL,
    PROVEEDOR VARCHAR(10) NOT NULL,
    CONCEPTO VARCHAR(100) NOT NULL, 
    NOME VARCHAR(100) NOT NULL, 
    DESCUENTO INT NOT NULL,
    CONTRA_PARTIDA VARCHAR(10) NOT NULL, 
    ANTERIOR INT NOT NULL,
    CARGO INT NOT NULL,
    ABONO INT NOT NULL,
    ACTUAL INT NOT NULL
)
AS
BEGIN
.
.
.
    )
    INSERT @retTablaDatos
    SELECT SEMANA, SAFRA, PROVEEDOR, CONCEPTO, NOME, DESCUENTO, CONTRA_PARTIDA, ANTERIOR, CARGO, ABONO, ACTUAL FROM Resultado
    RETURN
END;

Суть в том, что у меня уже есть значения для использования в качестве основы, как указать, что BY OMISSION или по умолчанию использовать внутренние параметры функции в случае, если они отсутствуют?

1
задан 02.12.2019, 18:01
2 ответа

Ты должен использовать ключевое слово DEFAULT в месте parГЎmetro.

SELECT * 
FROM ESTADO_CUENTA('5', DEFAULT, DEFAULT, '01/01/2019', DEFAULT);
2
ответ дан 02.12.2019, 20:34

DeberГ-схвати делать это asГ - (segГєn SQL Docs ):

select * from ESTADO_CUENTA('5', default, default, '01/01/2019', default)
1
ответ дан 02.12.2019, 20:34