Ciao a tutti, in un database ho una UDF di cui speravo di poterne estendere le funzionalità aggiungendo un parametro facoltativo.
Si tratta di una funzione che accetta già un argomento di tipo integer; il mio obiettivo era aggiungerne un secondo, sempre integer, con valore di default 0.
Questo per evitare di dover andarmi a modificare a ritroso tutti i posti in cui questa funzione viene già richiamata, e nello stesso tempo evitare di creare una nuova funzione tutto sommato ridondante.
Grosso modo volevo fare questo:
ALTER FUNCTION [dbo].[Fuzione] (
@parametro1 int,
@parametro2 int = 0
)
RETURNS varchar(max)
AS
BEGIN
IF @parametro2 = 0
esegui la query già presente da prima del nuovo parametro
ELSE
esegui una query diversa che utilizza sia @parametro1 che @parametro2
END
L'esecuzione della ALTER va a buon fine, e questo lascerebbe ben sperare, ma poi di fatto se la funzione viene richiamata con un solo argomento restituisce l'errore "Numero di argomenti insufficiente".
Dove sbaglio, forse gli argomenti facoltativi non sono supportati? Strano allora che il parser lasci passare una ALTER che contiene un errore.
Grazie.