Tengo una instrucción de inserción como la siguiente. Puedo depurar mi procedimiento almacenado y recorrer mi código para verificar que mi código se ejecute, pero sucede algo gracioso.La instrucción de inserción de SQL Server se ejecuta satisfactoriamente pero los valores no se agregan a la tabla aunque se haya creado una fila
Los valores que espero guardar en la base de datos no se guardan. En su lugar, se crea una fila en la tabla y se crea correctamente el RecordCreatedField
, incluso se incluye una clave principal, pero las columnas reales que espero insertar no. Todas las columnas son nvarchar/varchar
, excepto las columnas de fecha y la ID, pero solo se rellenan esas columnas. Sin embargo, los siguientes @PRCUPC, @ PRCEAN, @ PRCGTIN, @ PRCatalogNumber se omiten de alguna manera.
EXEC spinsertprodcode
@pid out,
@ProdID,
@UPC,
@EAN,
@TIN,
@CNumber,
0,
0,
1,
@staid,
@counter out
INSERT INTO dbo.ProdCodes
(PRProductID
,PRCUPC
,PRCEAN
,PRCGTIN
,PRCatalogNumber
,PRIsReplacement
,PRIsReplaced
,PRCRecordCreatedDate
,PRCIsActive
,PRStatusFlag)
OUTPUT INSERTED.PRCID INTO @opID
VALUES
(@PRProductID,
@PRCUPC,
@PRCEAN,
@PRCGTIN,
@PRCatalogNumber,
@PRIsReplacement ,
@PRIsReplaced,
GETDATE(),
@PRCIsActive,
@PRStatusFlag)
SELECT @PRCID = O.ID FROm @opID O
Agradecería cualquier sugerencia sobre cómo puedo solucionar esto o entender lo que está pasando.
Aquí es un violín SQL de la principal procedimiento almacenado que llama a mi código de inserción. SQL Fiddle of my code
¿Puede publicar el código que está utilizando para llamar al procedimiento almacenado? Supongo que los parámetros no se han configurado correctamente, tal vez. – d89761
Puedo desplazarme sobre los valores para confirmar que se pasaron correctamente. Y paso al código llamado al punto de inserción y también puedo verificar que los valores estén allí incluso para instalar el punto. – Kobojunkie
¿Hay un disparador sobre la mesa? –