Мне нужно отправить в мою функцию (которую я создаю) ряд параметров, которые в какой-то момент МОГУТ игнорироваться и не вызываться при вызове.
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 или по умолчанию использовать внутренние параметры функции в случае, если они отсутствуют?
Ты должен использовать ключевое слово DEFAULT в месте parГЎmetro.
SELECT *
FROM ESTADO_CUENTA('5', DEFAULT, DEFAULT, '01/01/2019', DEFAULT);
DeberГ-схвати делать это asГ - (segГєn SQL Docs ):
select * from ESTADO_CUENTA('5', default, default, '01/01/2019', default)