我有一个表格,其中包含有关联系人帐户余额的信息。它包含用于跟踪他们曾经拥有的第一张发票的日期、他们拥有的最后一张发票的日期以及当前余额的列。
在创建每张新发票时,打算通过一个简单的存储过程更新此表,如下所示:
CREATE PROCEDURE UpdateContactFinancialInformation
@ContactId int,
@InvoiceDate date,
@Amount money
AS
UPDATE Contacts.ContactsFinancialInformation
SET LastInvoiceDate = @InvoiceDate,
CurrentBalance = CurrentBalance + @Amount
WHERE ContactId = @ContactId
创建新联系人时,会在表中为他们创建默认条目,ContactsFinancialInformation
并且该FirstInvoiceDate
列的默认值为NULL
。
我想在上面的基本 SQL 语句中添加一个检查,以便如果该FirstInvoiceDate
列为 NULL,它也设置@InvoiceDate
正在传递到存储过程的参数。
请问最有效的方法是什么?