Intenté cambiar un valor de parámetro predeterminado con esto:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
y todo lo que me dio el precompilador de SQL fue este error:
Msg 102, Nivel 15, Estado 1, Procedimiento my_sp, Línea 8 Sintaxis incorrecta cerca de '('.
Ya he creado el procedimiento. (No estoy seguro de si eso es relevante). Estaba usando un valor predeterminado nulo y comprobándolo más tarde, pero eso no parece correcto. ¿Puedo hacer esto en una línea?
Actualización: me estaba saliendo de la descripción de MSDN de los parámetros del procedimiento almacenado :
[= predeterminado] Es un valor predeterminado para el parámetro. Si se define un valor predeterminado, la función se puede ejecutar sin especificar un valor para ese parámetro.
Nota:
Se pueden especificar valores de parámetros predeterminados para funciones CLR excepto para los tipos de datos varchar (max) y varbinary (max).Cuando un parámetro de la función tiene un valor predeterminado, la palabra clave DEFAULT debe especificarse cuando se llama a la función para recuperar el valor predeterminado. Este comportamiento es diferente de usar parámetros con valores predeterminados en procedimientos almacenados en los que omitir el parámetro también implica el valor predeterminado.
¿Estoy leyendo esto mal?
Muchas gracias.