我有如下插入语句。我能够调试我的存储过程并逐步执行我的代码以验证我的代码是否运行,但是发生了一件有趣的事情。
我希望保存在数据库中的值没有保存。相反,在表中创建了一行并RecordCreatedField
正确创建,甚至包括主键,但我希望插入的实际列没有。除日期列和 ID 外,所有列都是nvarchar/varchar
,但仅填充了这些列。但是,以下@PRCUPC ,@PRCEAN ,@PRCGTIN,@PRCatalogNumber以某种方式被省略了。
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
将不胜感激有关如何解决此问题或了解正在发生的事情的任何建议。
这是调用我的插入代码的主存储过程的 SQl 小提琴。 我的代码的 SQL Fiddle