我有一个存储过程,可以执行该过程以插入来自NodeJ的数据,该过程返回一个值为rowsAffected
的值。 rowsAffected
是一个数组,在这种情况下为3,是否有任何文档确定此数组的逻辑?
我正在尝试确定已更新的行,我的最佳猜测是数组中的第二个元素,第一个是NewID()
,第二个是实际的Insert,第三个是SELECT @guid
,我是正确的还是我想念什么吗?
Create PROCEDURE sp_FarmFollowUp_INS
(@p_notes_guid VARCHAR(50),
@p_property_guid VARCHAR(50),
@p_contact_name VARCHAR(150),
@p_contact_date DATETIME,
@p_contact_type VARCHAR(50),
@p_contact_email VARCHAR(250),
@p_contact_phone VARCHAR(20),
@p_contact_reason VARCHAR(50),
@p_notes VARCHAR(1000),
@p_created_by VARCHAR(50))
AS
declare @guid Varchar(50)
set @guid = NEWID()
INSERT INTO dbo.tbl_FarmFollowUp (
guid,
notes_guid,
property_guid,
contact_name,
contact_date,
contact_type,
contact_email,
contact_phone,
contact_reason,
notes,
created_by,
created_on)
VALUES
(
@guid,
@p_notes_guid,
@p_property_guid,
@p_contact_name,
@p_contact_date,
@p_contact_type,
@p_contact_email,
@p_contact_phone,
@p_contact_reason,
@p_notes,
@p_created_by,
getDate()
)
SELECT @guid as FollowUpiId
所以这将返回以下结果
{ recordsets: [ [ [Object] ] ],
recordset: [ { FollowUpiId: '2839D43D-CF9E-466D-B512-1DCD73833380' } ],
output: {},
rowsAffected: [ 1, 1, 1 ],
returnValue: 0 }
答案 0 :(得分:1)
您的存储过程中有三个单独的查询-一个用于设置GUID(受影响的一行),一个INSERT(影响一行)和一个SELECT返回GUID(影响一行)。因此,您具有三个“受影响的行”值。
如果要关闭该阵列,请添加:
SET NOCOUNT ON
作为存储过程的第一行。