关于我一直做错的语法可能是非常简单的事情,但在过去的 2 个小时里,当我在表和列级别定义此约束作为 CREATE TABLE 的一部分时,我一直在尝试多个语句,并使用 ALTER TABLE 分别尝试相同但是没有任何成功:
Create table tb1 (
tb1_quantity number,
tb1_price number,
tb1_total number constraint tb1_total_CK
CHECK(tb1_total = SUM(tb1_quantity * tb1_price))
);
我一直在尝试的另一种方法是:
Create table tb1 (
tb1_quantity number,
tb1_price number,
tb1_total number constraint tb1_total_CK
CHECK(SUM(tb1_quantity * tb1_price))
)
;
似乎与我声明功能的方式有关,因为我不断收到通常的 ORA-00934 此处不允许使用组功能的消息。我已经阅读了使用触发器和视图的多种替代方法,但我渴望使用约束使其工作,我是按照正确的方式使用这种语法还是只是措辞不正确?