gpt4 book ai didi

SQL oracle向现有表添加检查约束

转载 作者:行者123 更新时间:2023-12-04 00:37:45 26 4
gpt4 key购买 nike

我正在使用 SQL/PL 开发人员并且我有一个名为 Appeal 的表,它有 2 个属性 OpenDate 和 CloseDate。我想添加一个约束以确保开放日期小于结束日期。这个表我有很多条记录。

这是我的代码:

alter table appeal
add constraint Check_Dates
check (OpenDate < CloseDate)

我收到错误提示: ORA-02293: 无法验证 (STSTEM.CHECK_DATES) - 违反检查约束

有什么建议吗?谢谢

最佳答案

你的约束看起来是正确的,我已经测试过了:

create table appeal ( OpenDate date,  CloseDate date);

alter table appeal
add constraint Check_Dates
check (OpenDate < CloseDate);

insert into appeal values ( sysdate, sysdate - 1 );

结果如下:

Schema Creation Failed: ORA-02290: check constraint (USER_4_44096.CHECK_DATES) violated

问题是您的数据库中已经有 OpenDate < CloseDate 值的行。在创建约束之前修复它。看看行为改变句子顺序:

create table appeal ( OpenDate date,  CloseDate date);

insert into appeal values ( sysdate, sysdate - 1 );

alter table appeal
add constraint Check_Dates
check (OpenDate < CloseDate);

这里是你的问题:

Schema Creation Failed: ORA-02293: cannot validate (USER_4_E4450.CHECK_DATES) - check constraint violated

关于SQL oracle向现有表添加检查约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22782019/

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