gpt4 book ai didi

java - 我不希望特定行的字段根本不更新

转载 作者:行者123 更新时间:2023-12-01 17:43:37 25 4
gpt4 key购买 nike

我有一个名为 users 的表,其中有 accountlocked 字段...该字段的可能值为 Y 和 N ...如果前端用户使用错误密码 3 次尝试登录,则 accountlocked 将为 Y,这意味着帐户已锁定...但我有一个特定用户,我不希望帐户锁定更新为 Y...我创建了一个触发器,一旦它是 Y 就可以将其更新为 N...但我只是不'不希望该特定用户在第一个字段中将字段更新为 Y atall

CREATE OR REPLACE TRIGGER traccountunlock AFTER
UPDATE OF accountlocked ON users
FOR EACH ROW
WHEN (new.username=‘Testuser ’)
BEGIN
    IF :new.accountlocked = 'Y' THEN
        UPDATE users
        SET
            accountlocked = 'N'
        WHERE
            username IN (
                'Testuser'
            );

    END IF;
END;

这可行,但它是在字段更新为 Y 后执行的,但我不希望它首先更新为 Y 之类的东西,而不是...但而不是仅适用于 View 而不是 Oracle 中的表

注意:我可以通过 java 代码来完成此操作,但是,我并不是在寻找该解决方案,因为它需要部署和 future 的问题

最佳答案

什么是限制?

create table t (
username varchar2(30),
accountlocked varchar2(1) check( accountlocked in ('Y','N') ),
constraint not_lock_testuser check( (username,accountlocked) != (('Testuser', 'Y')) )
);

完成!

最诚挚的问候,斯图·阿什顿

关于java - 我不希望特定行的字段根本不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58012203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com