Me siento como un idiota, pero no puedo hacer que este SP predeterminado sea un valor ... Así es como declaro mis parámetros.Valores de parámetros predeterminados en el procedimiento almacenado de SQL Server 2008
ALTER PROCEDURE [dbo].[PCS_DocumentCacheInsert]
(
@sessionId varchar(200),
@mrn varchar(50) ,
@fromDate datetime,
@toDate datetime,
@aggregate varchar(50),
@author varchar(50),
@datePerformed dateTime,
@docId varchar(15),
@encounterId varchar(15),
@facility varchar(5),
@level char(1),
@orderedByAuthor varchar(50),
@resultAuthor varchar(50),
@resultCode varchar(5),
@resultId varchar(30),
@resultName varchar(30),
@status varchar(5),
@subType varchar(10),
@type varchar(10),
@security varchar(3),
@serviceGroup varchar(15),
@witmurNum varchar(10),
@deptId varchar(10),
@deptText varchar(40),
@cacheCreateTS dateTime ,
@cacheStatus varchar(8) ='notReady',
@cacheUpdateTS datetime
)
Todo funciona bien con este proc excepto que no puedo conseguir notReady
por defecto para @cacheStatus
. Google dice que estoy usando la sintaxis correcta.
Así es como yo llamo en la EM
EXEC @return_value = [dbo].[PCS_DocumentCacheInsert]
@sessionId = N'asdfssa',
@mrn = N'asdf',
@fromDate = NULL,
@toDate = NULL,
@aggregate = NULL,
@author = N'author',
@datePerformed = NULL,
@docId = N'id',
@encounterId = NULL,
@facility = NULL,
@level = NULL,
@orderedByAuthor = NULL,
@resultAuthor = NULL,
@resultCode = NULL,
@resultId = NULL,
@resultName = NULL,
@status = NULL,
@subType = NULL,
@type = NULL,
@security = NULL,
@serviceGroup = NULL,
@witmurNum = NULL,
@deptId = NULL,
@deptText = NULL,
@cacheCreateTS = NULL,
@cacheStatus = NULL,
@cacheUpdateTS = NULL
SELECT 'Valor de retorno' = @return_value
GO
por lo que añade esto y su trabajo ahora, pero no entiendo ¿Por qué cuando hago clic derecho y digo Ejecutar procedimiento almacenado, entonces selecciono las casillas de verificación nulas por qué no sería el valor predeterminado? Supongo que al comprobar que null envía 'NULL' al proc y no a DBNull?
if @cacheStatus is null
begin
set @cacheStatus ='notReady'
end
alguna posibilidad de que pueda proporcionar una muestra de cómo el SP se llama? – Justin
Tu sintaxis se ve bien. Compruebe el valor que está pasando a @cachStatus. (es decir, asegúrese de no estar pasando uno). – Chains
Lo estoy llamando desde marcos de entidad (desde un servicio WCF) y en el estudio de gestión el mismo comportamiento, ambos lugares no establecen el valor – cobolstinks