在我的存储过程中,我声明了@account_id,它根据序列号设置。如果 SERIAL_NUMBER 没有匹配的记录,@account_id 不会获得 NULL 值。B 节中提到了 WHERE 条件。因此,当我传递无效的序列号时,仍然会出现不应该的记录。请指导我解决这个问题。
Section A:
DECLARE @Account_ID INT
SELECT @Account_ID = ACCOUNT_ID FROM T_ACCOUNT WITH (NOLOCK) WHERE SERIAL_NUMBER = @Serial_Number
Section B:
WHERE
(@Account_ID IS NULL OR Acct.ACCOUNT_ID = @Account_ID)