最后一条记录的更新状态

时间:2017-04-24 23:24:39

标签: mysql sql

我有一个包含这些字段的表格: ID, ContractID, 客户端ID, 日期, 截止日期, 状态

每个客户一次只能有1个有效合同,我想更新表的最后一个记录,将自己设置为"不活动"添加新记录时,新记录必须将自己设置为"活动"。

我有一个存储过程做了类似的事情,但我不确定它是否会起作用。

IF EXISTS ( SELECT * FROM Contracts WHERE ClientID='f0004' AND contractID='1')
BEGIN
    INSERT INTO Contracts(Status) VALUES ('Active')
END

1 个答案:

答案 0 :(得分:0)

您可以在创建新客户之前使用触发器为客户停用所有行。

您还可以先将所有内容全部更新为非活动状态,然后将新的一个更新为活动状态,这两个操作都在一个事务中。