我需要实现试用许可证到期的功能。我创建了Membership
表,其中包含以下列:
Registration_Date
,Trial_Expiration_Date
Trial_Expired
(值:Y / N)。试用期为两周。
你能帮我写一个stored procedure
来:
更新列Trial_Expiration_Date = Registration_Date + 14.
注册成功后,我会在"Registration_Date"
列中插入值。
如果今天和Trial_Expiration_Date
的日期差异为0,则将字段"Trial_Expired"
更新为'Y'
。
我正在使用SQL Server 2008数据库。
答案 0 :(得分:0)
您可以在更新语句中使用CASE
表达式
UPDATE Membership
SET Trial_Expiration_Date = DATEADD(MM, 14, Registration_Date),
Trial_Expired =
CASE
WHEN DATEADD(MM, 14, Registration_Date) < GETDATE() THEN 'Y'
ELSE 'N'
END
WHERE ... -- some condition here
答案 1 :(得分:0)
您可以为Trial_Expired
创建计算字段。
CREATE TABLE Membership
(
Registration_Date DATE,
Trial_Expiration_Date DATE,
Trial_Expired AS CASE
WHEN Trial_Expiration_Date < GETDATE() THEN 'Y'
ELSE 'N'
END
) ON [PRIMARY]