我创建了一个存储过程,如下所示:
Create Procedure sp_ADD_USER_EXTRANET_CLIENT_INDEX_PHY
(
@ParLngId int output
)
as
Begin
SET @ParLngId = (Select top 1 ParLngId from T_Param where ParStrNom = 'Extranet Client')
if(@ParLngId = 0)
begin
Insert Into T_Param values ('PHY', 'Extranet Client', Null, Null, 'T', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL)
SET @ParLngId = @@IDENTITY
End
Return @ParLngId
End
所以我设置了一个变量@ParLngId
,我检查表中是否有这样的数据,如果有,我返回值,如果没有,我插入一个并返回包含插入行的 Id 的变量......但现在它显示我是一个 SqlException:
子查询返回更多值。当子查询跟在 =,! 之后时,这是不允许的。=、<、<=、>、> = 或用作表达式时。
有人有解决方案吗?